Euler project 0004