Principles of Mathematical Problem Solving by Martin J. Erickson & Joe Flowers