cs106b ps01 problem 1