Puzzles, Paradoxes, and Problem Solving: An Introduction to Mathematical Thinking