#include int minY, minX, maxY, maxX; struct point { int X, Y; }; point pole[20000], Q[20000], NewPoint, S; int PocBodu, pom, pom1, pom2; int ok, ok2, left, right; void Mergesort(int zac, int kon) { int stred, i, j, k; stred = (zac + kon) / 2; if (zac < stred) Mergesort(zac,stred); if (stred + 1 < kon) Mergesort(stred+1, kon); i = zac; j = stred + 1; k = zac; while ((i <= stred) && (j <= kon)) { if (pole[i].X < pole[j].X) Q[k] = pole[i++]; else { if (pole[i].X == pole[j].X) { if (pole[i].Y < pole[j].Y) Q[k] = pole[i++]; else Q[k] = pole[j++]; } else Q[k] = pole[j++]; } k++; } while (i <= stred) { Q[k] = pole[i++]; k++; } while (j <= kon) { Q[k] = pole[j++]; k++; } for (k = zac; k <= kon; k++) pole[k] = Q[k]; } int main() { scanf("%d",&pom1); while (pom1 != 0) { minY = minX = 10000000; maxY = maxX = -10000000; ok = 1; for (pom = 0; pom < pom1; pom++) { scanf("%d %d", &pole[pom].X, &pole[pom].Y); pole[pom].X *= 10; pole[pom].Y *= 10; if (pole[pom].X < minX) minX = pole[pom].X; if (pole[pom].X > maxX) maxX = pole[pom].X; if (pole[pom].Y < minY) minY = pole[pom].Y; if (pole[pom].Y > maxY) maxY = pole[pom].Y; } // printf("minX: %d , minY: %d, maxX: %d, maxY: %d\n",minX,minY,maxX,maxY); S.X = (maxX - minX) / 2 + minX; S.Y = (maxY - minY) / 2 + minY; PocBodu = pom1; Mergesort(0,PocBodu-1); /* for (pom1 = 0; pom1 < PocBodu; pom1++) { printf("X: %d, Y: %d\n",pole[pom1].X, pole[pom1].Y); }*/ left = 0; right = PocBodu - 1; ok = 1; while (left <= right) { NewPoint.X = pole[left].X + (S.X - pole[left].X)*2; NewPoint.Y = pole[left].Y + (S.Y - pole[left].Y)*2; if ((pole[right].X != NewPoint.X) || (pole[right].Y != NewPoint.Y)) { ok = 0; left = right + 1; } left++; right--; } if (ok == 0) printf("This is a dangerous situation!\n"); else printf("V.I.P. should stay at (%d.%d,%d.%d).\n", S.X/10, S.X - ((S.X/10)*10), S.Y/10, S.Y - ((S.Y/10)*10)); scanf("%d",&pom1); } return 0; } /* pom = 0; while (PocBodu > pom) { if ((S.X != pole[pom].X) || (S.Y != pole[pom].Y)) { ok2 = 0; pom1 = pom + 1; while (pom1 < PocBodu) { pole[pom1] = pole[--PocBodu]; pom1 = PocBodu; ok2 = 1; } pom1++; } if (ok2 == 0) { ok = 0; pom = PocBodu; } } pom++; } */