ASSIGNMENT #3 Solution