#include <iostream>
#include<vector>
#include<map>
using namespace std;
vector<int>vec[10];
vector<int>vec1[10];
map<pair<int,int>,int >m; // maps are nothing but just maps a key to a value
map<pair<int,int>,int >:: iterator it;
int main() {
// your code goes here
int ele,i,j,row;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
{
cin>>ele;
vec[i].push_back(ele);
vec1[i].push_back(ele); // see further to know why this has been done
}
}
// taking coloumn 1
for(row=0;row<3;row++)
{
m.insert(make_pair(make_pair(vec[row][1],row),row));
}
for(it=m.begin(); it!=m.end(); ++it)
{
cout<<(it->first).first<<" "<<(it->first).second<<endl; // this prints all the values of the desired coloumn
// notice the values are sorted
}
it=m.begin();
for(row=0;row<3;row++)
{
// desired row is (it->first).second;
int des= (it->first).second;
for(j=0;j<3;j++)
{
vec[row][j]= vec1[des][j];
}
++it;
}
cout<<"SORTED ORDER : \n";
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
cout<<vec[i][j]<<" ";
cout<<endl;
}
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTx2ZWN0b3I+CiNpbmNsdWRlPG1hcD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCnZlY3RvcjxpbnQ+dmVjWzEwXTsKdmVjdG9yPGludD52ZWMxWzEwXTsKbWFwPHBhaXI8aW50LGludD4saW50ID5tOyAgLy8gbWFwcyBhcmUgbm90aGluZyBidXQganVzdCBtYXBzIGEga2V5IHRvIGEgdmFsdWUKbWFwPHBhaXI8aW50LGludD4saW50ID46OiBpdGVyYXRvciBpdDsKCmludCBtYWluKCkgewoJLy8geW91ciBjb2RlIGdvZXMgaGVyZQoJaW50IGVsZSxpLGoscm93OwoJCglmb3IoaT0wO2k8MztpKyspCgl7CgkJZm9yKGo9MDtqPDM7aisrKQoJCXsKCQkJY2luPj5lbGU7CgkJCXZlY1tpXS5wdXNoX2JhY2soZWxlKTsKCQkJdmVjMVtpXS5wdXNoX2JhY2soZWxlKTsgLy8gc2VlIGZ1cnRoZXIgdG8ga25vdyB3aHkgdGhpcyBoYXMgYmVlbiBkb25lCgkJfQoJfQoJCgkvLyB0YWtpbmcgY29sb3VtbiAxCgkKCWZvcihyb3c9MDtyb3c8Mztyb3crKykKCXsKCQltLmluc2VydChtYWtlX3BhaXIobWFrZV9wYWlyKHZlY1tyb3ddWzFdLHJvdykscm93KSk7Cgl9CgkKCWZvcihpdD1tLmJlZ2luKCk7IGl0IT1tLmVuZCgpOyArK2l0KQoJewoJCWNvdXQ8PChpdC0+Zmlyc3QpLmZpcnN0PDwiICI8PChpdC0+Zmlyc3QpLnNlY29uZDw8ZW5kbDsgIC8vIHRoaXMgcHJpbnRzIGFsbCB0aGUgdmFsdWVzIG9mIHRoZSBkZXNpcmVkIGNvbG91bW4KCQkvLyBub3RpY2UgdGhlIHZhbHVlcyBhcmUgc29ydGVkCgl9CgkKCWl0PW0uYmVnaW4oKTsKCQoJZm9yKHJvdz0wO3JvdzwzO3JvdysrKQoJewoJCS8vIGRlc2lyZWQgcm93IGlzIChpdC0+Zmlyc3QpLnNlY29uZDsKCQlpbnQgZGVzPSAoaXQtPmZpcnN0KS5zZWNvbmQ7CgkJZm9yKGo9MDtqPDM7aisrKQoJCXsKCQkJdmVjW3Jvd11bal09IHZlYzFbZGVzXVtqXTsKCQl9CgkJKytpdDsKCX0KCQoJY291dDw8IlNPUlRFRCBPUkRFUiA6IFxuIjsKCQoJZm9yKGk9MDtpPDM7aSsrKQoJewoJCWZvcihqPTA7ajwzO2orKykKCQkgY291dDw8dmVjW2ldW2pdPDwiICI7CgkJIAoJCSBjb3V0PDxlbmRsOwoJCSAKCX0KCQoJcmV0dXJuIDA7Cn0=