#include<bits/stdc++.h>
using namespace std;
int n;
int l,r;
struct st{
int left;
int right;
}h[50010];
bool cmp(st g,st k){
if(g.right<k.right){
return g.right<k.right;
}
if(g.right==k.right){
return g.left<k.left;
}
}
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>h[i].left>>h[i].right;
}
sort(h+1,h+n+1,cmp);
l=h[1].left;
r=h[1].right;
for(int i=2;i<=n;i++){
if(h[i].left>=h[i-1].left&&h[i].left<=h[i-1].right){
r=h[i].right;
}
if(h[i].left<h[i-1].left){
r=h[i].right;
l=h[i].left;
}
if(h[i].left>h[i-1].right){
cout<<l<<" "<<r<<endl;
l=h[i].left;
r=h[i].right;
}
}
cout<<l<<" "<<r;
return 0;
}