#include <stdio.h>
#include <math.h>
double dist(int m);
const int MAX_N = 100;
const int MIN_X = 0;
const int MAX_X = 10000;
struct
{
int x;
int y;
} arr[MAX_N];
int n, minX, maxX;
int main()
{
int i, l, r, m;
//freopen("test.in", "r", stdin);
//freopen("test.out", "w", stdout);
l = sizeof(int);
while(1)
{
scanf("%d", &n);
if(n==0) break;
minX = MAX_X;
maxX = MIN_X;
for(i=0; i<n; i++)
{
scanf("%d%d", &arr[i].x, &arr[i].y);
if(arr[i].x < minX) minX = arr[i].x;
if(arr[i].x > maxX) maxX = arr[i].x;
}
if(minX == maxX)
{
printf("%d\n", arr[0].x);
continue;
}
l = minX;
r = maxX;
while(l<r)
{
m = (l+r)/2;
if(dist(m) > dist(m+1))
{
l=m+1;
}
else
{
r=m;
}
}
printf("%d\n", l);
}
return 0;
}
double dist(int m)
{
int i;
double sum = 0;
for(i=0; i<n; i++)
{
sum += sqrt((double)((arr[i].x-m)*(arr[i].x-m) + arr[i].y*arr[i].y));
}
return sum;
}