project euler c++ solutions