programs for CS50 problem sets