project euler - problem 4