project euler - problem 7