project euler problem 52 slightly improved