Cs50 Solutions 2017