Source code for solving challenge in www.pythonchallenge.com
Note to reader: I learn python by solving those challenges, so some codes may look silly, not really optimized, even convention is not correct. But as the time goes by, the code will gradually look better.