project euler - problem 3