#include <iostream>
#include <map>
#include <vector>
#include <fstream>
#include <assert.h>
#include <algorithm>
using namespace std;
int main()
{
multimap<int,int> m;
m.insert(pair<int,int>(1,12));
m.insert(pair<int,int>(1,112));
m.insert(pair<int,int>(1,121));
m.insert(pair<int,int>(11,12));
m.insert(pair<int,int>(11,112));
m.insert(pair<int,int>(11,112));
m.insert(pair<int,int>(11,112));
m.insert(pair<int,int>(11,112));
m.insert(pair<int,int>(11,121));
m.insert(pair<int,int>(111,12));
m.insert(pair<int,int>(111,112));
m.insert(pair<int,int>(111,121));
typedef std::multimap<int, int>::iterator piter;
pair<piter,piter> g =m.equal_range(11);
while (g.first != g.second)
{
if (g.first->second == 112 )//&& g.first->second.color ==ex_color
{
g.first=m.erase(g.first);
continue;
}
g.first++;
}
for (auto i=m.begin();i!=m.end();i++)
{
cout<<i->first<<";"<<i->second<<endl;
}
}