code:
#include<bits/stdc++.h>
using namespace std;
map<int,set<int> >B;
int n,m,a,b;
priority_queue<pair<int,int>,vector<pair<int,int> > ,greater<pair<int,int> > >pq;
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++){
cin>>a>>b;
B[a].insert(b);
B[b].insert(a);
}
for(int i=1;i<=n;i++){
if(B[i].size()==1){
a=i;
b=*B[i].begin();
if(a>b)swap(a,b);
pq.push({a,b});
}
}
while(!pq.empty()){
cout<<pq.top().first<<' '<<pq.top().second<<endl;
pq.pop();
}
}//ONLY AC #3.