Final programing homework