Project euler 3