https://courses.grainger.illinois.edu/ece551/fa2023/secure/HW7_soln.pdf