#include<bits/stdc++.h>
using namespace std;
struct s{
int a,b;
int operator < (const s &aa) const
{
if(aa.a==a)
{
return b<aa.b;
}
return a<aa.a;
}
};
int main()
{
set<s>ss;
s sss1={1,1};
ss.insert(sss1);
s sss2={2,3};
ss.insert(sss2);
s sss3={2,2};
s sss4={2,2};
ss.insert(sss3);
for(auto i=ss.begin();i!=ss.end();i++)
{
cout<<(*i).a<<" "<<(*i).b<<endl;
}
map<s,int>m;
m[sss1]++; m[sss2]++;
m[sss3]++; m[sss4]++;
for(auto i=m.begin();i!=m.end();i++)
{
cout<<i->first.a<<" "<<i->first.b<<" "<<i->second<<endl;
}
s sss5={2,2};
cout<<m[sss5];
}