https://courses.grainger.illinois.edu/ece310/sp2025/secure/past_exams/ECE310_sp2021_final_solutions.pdf