#include<stdio.h>
#include<math.h>
//#include<conio.h>
#define NMAX 50001
struct pct{double x,y;};
pct v[NMAX];
int n;
double dist(double x,double y){
int i;
double rez=0.0,patr,rad,term;
for(i=0;i<n;++i){
patr=(x-v[i].x)*(x-v[i].x)+(y-v[i].y)*(y-v[i].y);
rad=sqrt(patr);
term=rad;
rez+=term;
}
return rez;
}
double fx(double x,double y){
int i;
double rez=0.0,patr,rad,term;
for(i=0;i<n;++i){
patr=(x-v[i].x)*(x-v[i].x)+(y-v[i].y)*(y-v[i].y);
rad=sqrt(patr);
if(rad) term=(x-v[i].x)/rad;
else term=0.0;
rez+=term;
}
return rez;
}
double fy(double x,double y){
int i;
double rez=0.0,patr,rad,term;
for(i=0;i<n;++i){
patr=(x-v[i].x)*(x-v[i].x)+(y-v[i].y)*(y-v[i].y);
rad=sqrt(patr);
if(rad) term=(y-v[i].y)/rad;
else term=0.0;
rez+=term;
}
return rez;
}
double dfx(double x,double y){
int i;
double rez=0.0,patr,rad,term;
for(i=0;i<n;++i){
patr=(x-v[i].x)*(x-v[i].x)+(y-v[i].y)*(y-v[i].y);
rad=sqrt(patr);
if(rad) term=(y-v[i].y)*(y-v[i].y)/rad/patr;
else term=0.0;
rez+=term;
}
return rez;
}
double dfy(double x,double y){
int i;
double rez=0.0,patr,rad,term;
for(i=0;i<n;++i){
patr=(x-v[i].x)*(x-v[i].x)+(y-v[i].y)*(y-v[i].y);
rad=sqrt(patr);
if(rad) term=(x-v[i].x)*(x-v[i].x)/rad/patr;
else term=0.0;
rez+=term;
}
return rez;
}
double dfxy(double x,double y){
int i;
double rez=0.0,patr,rad,term;
for(i=0;i<n;++i){
patr=(x-v[i].x)*(x-v[i].x)+(y-v[i].y)*(y-v[i].y);
rad=sqrt(patr);
if(rad) term=-(x-v[i].x)*(y-v[i].y)/rad/patr;
else term=0.0;
rez+=term;
}
return rez;
}
int main(){
//clrscr();
freopen("adapost2.in","r",stdin);
freopen("adapost2.out","w",stdout);
scanf("%d",&n);
double sx=0.0,sy=0.0,xmed,ymed;
double xi,xs,yi,ys,x0,y0,ex,ey,xmij,ymij,mx,my;
ex=ey=0.1;
int i;
for(i=0;i<n;++i){
scanf("%lf%lf",&v[i].x,&v[i].y);
sx+=v[i].x;
sy+=v[i].y;
}
xmed=sx/n;ymed=sy/n;
xi=xmed;yi=ymed;
yi=1.0;
double _fx,_fy,_dfxy,_dfx,_dfy,delta,deltax,deltay,_dist;
/*do {
_fy=fy(xi,yi);
_dfy=dfy(xi,yi);
_dist=dist(xi,yi);
printf("%0.10lf %0.10lf %0.10lf %0.10lf\n",yi,_fy,_dfy,_dist);
yi+=0.01;
}while(yi<=3); */
int nrp=0;
//yi=5.0;xi=6;
double dd=1,vfx,vfy,vdd,k=0.1;
vdd=dist(xi,yi);
vfx=fx(xi,yi);
vfy=fy(xi,yi);
do{
// dd=dist(xi,yi)*k;
_fx=fx(xi,yi);
_fy=fy(xi,yi);
//if(vfx<_fx||vfy<_fy) k=k*k;
_dfxy=dfxy(xi,yi);
_dfx=dfx(xi,yi);
_dfy=dfy(xi,yi);
delta=_dfx*_dfy-_dfxy*_dfxy;
deltax=_dfy*(_fx-_dfx*xi-_dfxy*yi-dd)-_dfxy*(_fy-_dfxy*xi-_dfy*yi-dd);
deltay=_dfx*(_fy-_dfxy*xi-_dfy*yi-dd)-_dfxy*(_fx-_dfx*xi-_dfxy*yi-dd);
if(delta!=0){
xs=-deltax/delta;
ys=-deltay/delta;
}
else goto finish;
mx=xs-xi;
if(mx<0) mx=-mx;
my=ys-yi;
if(my<0) my=-my;
nrp++;
xi=xs;yi=ys;
}while(mx>ex||my>ey);
finish:
//_dist=dist(xi,yi);
//_fx=fx(xi,yi);
//_fy=fy(xi,yi);
printf("%0.4lf %0.4lf\n",xi,yi);
//printf("%d\n",nrp);
//printf("%0.10lf %0.10lf\n",_fx,_fy);
//printf("\n%0.10lf %0.10lf",xmed,ymed);
return 0;
}