/******************************************************************************************************
** **
** Run ID Submit Time Judge Status Problem Language Run Time Run Memory User **
**00017291 2006-01-10 12:29:20 Accepted 1173 G++ 734ms 2288K princetonboy **
** **
**Auther: princetonboy **
**ac one time
**a simple problem, the only ken you should know is that how to find the minimum path to **
**all of the mines. in fact, find the point A of the middle of all mines, and the total **
**length of the path to the mines from the middle point is the minimum path. now, you **
**should know how to solve the problem. ^_^ and use the qsort() function is very fast! **
** **
*******************************************************************************************************/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream>
using namespace std;
struct place
{
double x;
double y;
}pl[1000000];
int cmp( const void *a ,const void *b)
{
return (*(place*)a).x > (*(place*)b).x ? 1 : -1;
}
int cmp1( const void *a ,const void *b)
{
return (*(place*)a).y > (*(place*)b).y ? 1 : -1;
}
int main()
{
int i ;
int n ;
double tempx, tempy ;
while(cin>>n)
{
if(n == 0) break ;
for(i = 0; i < n; i ++)
{
scanf("%lf%lf",&pl[i].x,&pl[i].y);
}
if(n % 2)
{
qsort(pl,n,sizeof(pl[0]),cmp);
tempx = pl[(n-1)/2].x ;
qsort(pl,n,sizeof(pl[0]),cmp1);
tempy = pl[(n-1)/2].y ;
}
else
{
qsort(pl,n,sizeof(pl[0]),cmp);
tempx = (pl[(n-1)/2].x + pl[n/2].x) / 2;
qsort(pl,n,sizeof(pl[0]),cmp1);
tempy = (pl[(n-1)/2].y + pl[n/2].y) / 2;
}
printf("%.2f %.2f\n",tempx,tempy);
}
return 0;
}
