c++ solution for problem 2