Project Euler P28