https://bitbucket.org/sheng/projecteuler