Project Euler Problem 23