#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
struct node{
long long p,a;
}b[1000005];
int m,i,j,f[1000005];
int n;
int cmp(const node &c,const node &d){
if(c.p!=d.p) return c.p<d.p;
return c.iq<d.iq;
}
int read(){
int x=0,f=1;
char ch=getchar();
while(ch<'0'||ch>'9'){
if(ch=='-') f=-1;
ch=getchar();
}
while(ch>='0'&&ch<='9'){
x+=x*10+ch-48;
ch=getchar();
}
return x*f;
}
int main(){
memset(f,0,sizeof(f));
while(scanf("%d",&m)!=EOF){
for(i=1;i<=m;++i){
b[i].p=read();
b[i].a=read();
}
sort(b+1,b+m+1,cmp);
i=2;
while(i!=m){
n=1;
while(i!=m&&b[i].p==b[i-1].p){
n++;++i;
}
printf("%lld ",b[i-1].p);
if(n%2!=0) printf("%lld\n",b[(n+1)/2].a);
else printf("%lld\n",(b[n/2].a+ b[n/2+1].a)/2);
}
}
}