#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; }