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

void print(	std::map< int, char > &x) 
{
	std::cout<<"map:"<<std::endl;
	for (auto& e:x) 
	    std::cout<<"  "<<e.first<<":"<<e.second<<std::endl; 
	    
}

int main() {
	
	std::map< int, char > charMap { {1,'A'},{2,'B'},{3,'C'}};
    print(charMap);
	for( auto pi = charMap.end(); pi-- != charMap.begin(); pi=charMap.erase( pi ))
	{
	    charMap[ pi->first + 1 ] = charMap[ pi->first ];
	}
    print(charMap);


	return 0;
}