Solving puzzles for http://www.pythonchallenge.com/