Mathematical olympiad treasures - Andreescu, Titu 1956- (Birkhaüser, 2006)