Ack, we're not supposed to post questions from AoPS. I made the mistake in the past... and trust me... don't do it.
Look at what AoPS wrote in the answer section of this question
It violates their rule of conduct. They want their problems to be hard, and therefore do not want you to google it.
Well, I don't think AoPS Morrisville is the actual AoPS. Plus, I'm learning, isn't that what matters?