Assignment 2 (Problem Solving)