project euler 31