Project euler problem 5.