Solve AOJ2576
Solve AOJ2575
Solve AOJ2577