my solution for projecteuler