CS50x Problem Set Solutions