Problem Solving: The Basics