eolymp
bolt
Спробуйте наш новий інтерфейс для відправки розв'язків
Задачі

Симетрія 2

Симетрія 2

\includegraphics{https://static.e-olymp.com/content/91/918b259eb57bababdcb41158b6c9f93be6d4f815.jpg} Відображенням точки \textbf{p} відносно прямої \textbf{L} є точка \textbf{p^\{'\}} така, що відрізок \textbf{pp^\{'\}} перпендикулярний до прямої \textbf{L}, і його середина лежить на \textbf{L}. Якщо \textbf{p} лежить на \textbf{L}, то \textbf{p^\{'\}} = \textbf{p}. Нехай задано множину точок на площині. Віссю симетрії називається така пряма на ці площині, що відображення довільної точки із заданої множини дає також точку з цієї множини. У даній задачі вам задано набір точок на площині, і ви повинні визначити, чи існує хоча б одна вісь симетрії для цих точок. У зв'язку з використанням дійсних чисел, вважайте віссю симетрії таку пряму, що відстань від відображення довільної точки відносно цієї прямої до якоїсь з точок множини не перевищує \textbf{10^\{-6\}} . \InputFile Вхідний файл містить декілька тестів. Перший рядок вхідного файлу містить ціле число \textbf{K} (\textbf{1} <= \textbf{K} <= \textbf{10}) - кількість тестів. Перший рядок кожного тесту містить ціле число \textbf{N} - кількість точок у множині (\textbf{1} <= \textbf{N} <= \textbf{100 000}). У кожному з наступних \textbf{N} рядків розміщено опис однієї точки - два дійсних числа \textbf{X} та \textbf{Y}, відокремлених пропуском - координати точки на площині (\textbf{-10 000} <= \textbf{X}, \textbf{Y} <= \textbf{10 000}). Ніякі дві точки з одного тесту не співпадають. Гарантується, що сума значень \textbf{N} по всім тестам не перевищує \textbf{200 000}. \OutputFile Для кожного тесту виведіть один рядок \textbf{YES}, якщо існує хоча б одна вісь симетрії для заданої множини точок, і \textbf{NO} у протилежному випадку.
Ліміт часу 2 секунди
Ліміт використання пам'яті 64 MiB
Вхідні дані #1
3
4
-10 0
10 0
10 10
10 -10
4
-10 0
10 1
10 10.5
10 -10.5
6
-1000 30
-100 20
-10 10
1000 30
100 20
10 10
Вихідні дані #1
YES
NO
YES