Зламаний цвях#4065

Зламаний цвях

0,4 секунди
16 мегабайтів
Дуже складна

На вертикальній стіні висить декоративна рамка, закріплена двома цвяхами.

Рамка має форму багатокутника довільної форми, всередині якого можуть бути вирізи, кожен з яких також є багатокутником довільної форми.

У певний момент один з цвяхів ламається, що, як правило, призводить до початку коливання рамки навколо цвяха, що залишився, під дією сили тяжіння. Після кількох коливань рамка зупиняється в новому стаціонарному положенні (див. рисунок).

Необхідно визначити абсолютну величину кута, на який повернеться рамка відносно свого початкового положення після того, як знову опиниться в стаціонарному стані.

Примітки:

Вхідні дані

Перший рядок містить одне ціле число – кількість вершин рамки (3 \le N \le 50).

Наступні рядків містять координати -ої вершини рамки у вигляді двох цілих чисел P_{iX} і P_{iY}, розділених пробілом (1 \le i \le N, 0 \le P_{iX} \le 100, 0 \le P_{iY} \le 100). Вершини подаються в порядку їх з'єднання для утворення багатокутника.

Наступний рядок містить одне ціле число – кількість вирізів (0 \le L \le 10).

Наступні блоків рядків описують кожен з вирізів.

Перший рядок -го блока (1 \le j \le L) містить одне ціле число M_j – кількість вершин -го вирізу (3 \le M_j \le 50).

Наступні M_j рядків -го блока містять координати -ої вершини вирізу у вигляді двох цілих чисел V_{kX} і V_{kY}, розділених пробілом (1 \le k \le M_j, 1 \le V_{kX} \le 99, 1 \le V_{kY} \le 99). Вершини подаються в порядку їх з'єднання для утворення багатокутника.

Останній рядок містить два цілі числа Z_X і Z_Y, розділених пробілом – координати цвяха, що залишився (1 \le Z_X \le 99, 1 \le Z_Y \le 99).

Вихідні дані

Вихідний файл повинен містити одне дійсне число – абсолютну величину кута повороту рамки (0 \le A < 180). Виведення здійснюється з шістьма десятковими знаками. Роздільником дробової і цілої частини є крапка.

Приклади

Приклад 1

Loading
Loading