The Art of Problem Solving, Volume 1 The Basics by Sandor Lehoczky, Richard Rusczyk - WordSea