project euler problems in python