My solution of project euler