description changed and c++ solution finished