#include <iostream>
#include <map>
#include <iterator>
using namespace std;

int main() {
	map<int,int> mymap = {{1,0},{2,1},{9,2},{10,3},{11,4}};
	for(auto it = mymap.rbegin(); it != mymap.rend(); ){
	    auto v = --(it.base());
    	cout << "erasing: " << v->first << endl;
	    v = mymap.erase(v);
    	it = map<int,int>::reverse_iterator(v);
	}
	return 0;
}