Обмани мене#2856

Обмани мене

1 секунда
256 мегабайтів
Дуже легка

— Нічого особистого, але я не дуже довіряю твоєму способу нарізки торта. — Шкода. — Тоді доведи. — Я не такий вже й крутий, але мій ноутбук ніколи мені не бреше. — Я не бачу на тобі рюкзака. — О ні, я забув його взяти?.. Жартую, звісно взяв.

Нагадаємо, що план нарізки торта містить таку інформацію: торт — це правильний -кутник з центром у точці і однією з вершин у точці . Весь торт розділений на N + 1 частин, кожна з яких є опуклим багатокутником.

Перевірте, що всі частини є опуклими багатокутниками, жодні три точки не лежать на одній прямій, а вершини дані у проти-годинниковому порядку. Перевірте, що всі частини мають однакову площу. Перевірте, що всі частини мають однакову довжину зовнішньої межі — тобто тієї частини межі, яка відповідає початковій межі торта. Також перевірте, що всі частини разом складають весь торт.

Вхідні дані

Перший рядок містить число (3 \leq N \leq 100): кількість вершин торта. Далі наведено описи N + 1 частин. Опис кожної частини починається з числа K_i (3 \leq K_i \leq 100) — кількості вершин частини. Наступні K_i рядків містять по дві координати x_i та y_i (-100 \leq x_i, y_i \leq 100), які відповідають вершинам частини (порядок точок довільний). Усі координати — дійсні числа з точністю до знаків після коми.

Вихідні дані

Виведіть "Yes", якщо опис відповідає правильній нарізці торта, інакше виведіть "No". Гарантується, що якщо відповідь "No", відповідні параметри розрізняються як мінімум на 10^{-6}.

Приклади

Приклад 1

Loading
Loading