https://courses.grainger.illinois.edu/tam210/sp2025/worksheet/Worksheet6_Solution.pdf