ProjectEuler 3