Project Euler Problem 30