Задачі
Повінь
Повінь
\includegraphics{https://static.e-olymp.com/content/76/769ba2d9d04b718bda0bd1d902300b4c423a69ee.jpg}
У 1964 році катастрофічна повінь потрясла Загреб. Багато будівель було зруйновано водою, що вдарила по їхніх стінах. У цій задачі вам буде надано спрощену модель міста перед повінню, і ви маєте визначити, які із стін залишаться ціоими після повені.
Модель складається з \textbf{N} точок на координатній площині і \textbf{W} стін. Кожна стіна з'єднує пару точок і не проходить через інші точки. Модель також задовольняє такі властивості:
- ніякі дві стіни не перетинаються і не накладаються на іншу, за виключенням того, що вони можуть мати спільні кінці;
- кожна стіна є паралельною чи до горизонтальної, чи до вертикальної координатної осі.
На початку вся координатна площина є сухою. У момент часу нуль вода миттєво затоплює зовнішній простір (простір, не обмежений стінами). Рівно через годину кожна стіна, у якої з одного боку - вода, а з іншого боку - повітря, руйнується під тиском води. Після цього вода миттєво затоплює простір, який перестав бути обмеженим цілими стінами. У результаті цього можуть з'явитися нові стіни, у яких з одного боку вода, а з другого боку - повітря. Ще через годину ці стіни також руйнуються, і вода потрапляє в новий простір. Так продовжується до тих пір, поки вода не затопить всю територію.
Приклад процесу руйнування показано на рисунку (інтервал між станами - одна година).
\textbf{Завдання}
Напишіть програму, яка за заданими координатами \textbf{N} точок і опису \textbf{W} стін, що з'єднують ці точки, визначає, які стіни залишаться цілими після повені.
\InputFile
Перший рядок вхідних даних містить ціле число \textbf{N} (\textbf{2 ≤ N ≤ 100 000}), кількість точок на площині. Кожен з наступних \textbf{N} рядків містить по два цілих числа \textbf{X} i \textbf{Y} (кожне від \textbf{0} до \textbf{1 000 000} включно) - координати точки. Точки нумеруються від \textbf{1} до \textbf{N} в тому порядку, у якому вони задані. Ніякі дві точки не співпадають.
Наступний рядок містить ціле число \textbf{W} (\textbf{1 ≤ W ≤ 2N}) - кількість стін.
Кожен з наступних \textbf{W} рядків містить по два різних цілих числа \textbf{A} i \textbf{B} (\textbf{1 }≤\textbf{ A}, \textbf{B ≤ N}), які означають, що перед повінню була стіна, що з'єднувала точки \textbf{A} i \textbf{B}. Стіни нумеруються від \textbf{1} до \textbf{W} в тому порядку, у якому вони задані.
\OutputFile
Перший рядок вихідних даних має містити ціле число \textbf{K} - кількість стін, які залишаться цілими після повені.
Наступні \textbf{K} рядків мають містити номери стін, які залишаться цілими, по одному номеру в кожному рядку. Номери стін можна виводити в довільному порядку.
Вхідні дані #1
15 1 1 8 1 4 2 7 2 2 3 4 3 6 3 2 5 4 5 6 5 4 6 7 6 1 8 4 8 8 8 17 1 2 2 15 15 14 14 13 13 1 14 11 11 12 12 4 4 3 3 6 6 5 5 8 8 9 9 11 9 10 10 7 7 6
Вихідні дані #1
4 6 15 16 17