#include<bits/stdc++.h>
using namespace std;
int n;const int maxx=5e4+5;
pair<int,int> q[maxx];
vector<pair<int,int> > ans;
bool cmp(pair<int,int> a,pair<int,int> b)
{return a.first<b.first;}
int main()
{
cin>>n;
for(int i=1;i<=n;i++) cin>>q[i].first>>q[i].second;
sort(q+1,q+n+1,cmp);
int i=1,cnt=0;
while(i<=n)
{
int head=q[i].first,tail=q[i].second;
for(;;i++)
{
if(q[i].first>tail) {i--;break;}
if(q[i].second>tail) tail=q[i].second;
}
ans.push_back(make_pair(head,tail));i++;cnt++;
}
for(int k=0;k<=cnt-1;k++) cout<<ans[k].first<<" "<<ans[k].second<<endl;
return 0;
}
segmentation fault with invalid memory reference