project-euler-problem-1