Mathematical Olympiad challenges - Andreescu, Titu, 1956- (Birkhauser, 2000)