Programming Assignment2_Nanjun Lu_Final