TopCoder SRM 583 div 2, 250 and 500. AC.