Prob.end()-1がまずいんじゃないの?

std::advance(Prob.end(), -1)に置き換えたらどうなる?