Source: https://www.uvm.edu/~cvincen1/files/teaching/spring2018-math255/practicefinalexamsol.pdf