#include #include int body[20001][2]; int pf(const void * p_a,const void *p_b) { int *a = (int*)p_a; int *b = (int*)p_b; if (a[0] < b[0]) return -1; if (a[0] > b[0]) return 1; if (a[1] < b[1]) return -1; if (a[1] > b[1]) return 1; return 0; } int main(void) { int b = 0; scanf("%d",&b); while (b) { float x=0,y=0; int minx=0,miny=0,maxx=0,maxy=0; for (int i=0;i < b;i++) { scanf("%d %d",&body[i][0],&body[i][1]); if (i==0) { minx = maxx = body[0][0]; miny = maxy = body[0][1]; continue; } if (minx > body[i][0]) minx = body[i][0]; if (miny > body[i][1]) miny = body[i][1]; if (maxx < body[i][0]) maxx = body[i][0]; if (maxy < body[i][1]) maxy = body[i][1]; } x = (minx+maxx) / 2.0f; y = (miny+maxy) / 2.0f; //printf("%d,%d %d,%d x=%f y=%f",minx,miny,maxx,maxy,x,y); qsort(body,b,sizeof(int)*2,pf); //for (int u=0;u < b;u++) // printf("%d %d\n",body[u][0],body[u][1]); if (b & 1) { if ((float)body[b/2][0]!=x || (float)body[b/2][1]!=y) goto nosit; } for (int k=0;k < (b/2);k++) if ((x != ((body[k][0]+body[b-k-1][0])/2.f)) || (y != ((body[k][1]+body[b-k-1][1])/2.0f))) goto nosit; printf("V.I.P. should stay at (%.1f,%.1f).\n",x,y); scanf("%d",&b); continue; nosit: printf("This is a dangerous situation!\n"); scanf("%d",&b); } return 0; }