Mathematical olympiad treasures - Andreescu, Titu (Birkhauser, 2004)