https://courses.grainger.illinois.edu/ece443/sp2025/secure/HW/HW1/HW1.pdf