my solution of project Euler