При управлении зоопарком иногда хочется переместить животных между вольерами. Например, зебрам может понравиться более просторный вольер, сейчас занятый пингвинами, а пингвины захотят в более холодный вольер, где сейчас живут коалы; коалы же переедут в пустой вольер, который можно заполнить эвкалиптом. Тогда сначала следует переместить коал, освободив холодный вольер, затем пингвинов туда и, наконец, зебр.
Животных перемещают по специальным туннелям, соединяющим вольеры: вы не хотите, чтобы они выходили наружу, как из-за риска испугаться, так и из-за риска убежать и пораниться.
Фотография зоопарка с верблюдом, ослом и (частью) козы.
К сожалению, недавно вы приобрели ещё животных, и теперь все вольеры заполнены, что сильно усложняет перемещения. Представьте, например, что коалы должны попасть в бывший вольер зебр: тогда никакую группу нельзя переместить первой. Вместо этого вы научились перемещать животных одновременно: зебры, коалы и пингвины одновременно начинают идти по разным туннелям и одновременно прибывают в новые вольеры, поэтому никогда не встречаются. Заметьте, что так нельзя просто поменять местами животных двух соединённых вольеров (они встретятся в туннеле и испугаются).
Итак, перед вами головоломка. Есть список вольеров, в каждом находится один тип животных; некоторые вольеры соединены туннелями. Вы можете сколько угодно раз выбирать некоторое множество животных и перемещать каждое в соседний по туннелю вольер, если животное в том вольере тоже перемещается в рамках того же хода и ни один туннель не используется за этот ход более одного раза. У вас также есть представление об идеальном расположении животных. Можно ли достичь его последовательностью ходов?
Входные данные
Первая строка входных данных содержит два целых числа $n$ ($1 \le n \le 4 \cdot 10^5$) и $m$ ($0 \le m \le 4 \cdot 10^5$), обозначающие количество вольеров и туннелей. Далее следуют $n$ строк, в $i$-й из которых находятся два целых числа $b_i$ ($1 \le b_i \le 10^6$) и $e_i$ ($1 \le e \le 10^6$), обозначающие тип животного в вольере $i$ вначале и тип, который вы хотите получить в вольере $i$ после всех ходов. Можно считать, что $e_1, \ldots, e_n$ — перестановка $b_1, \ldots, b_n$.
Далее следуют $m$ строк с описаниями туннелей. Каждая содержит два целых числа $x$ и $y$ ($1 \le x < y \le n$), обозначающие, что вольеры $x$ и $y$ соединены двусторонним туннелем. Никакие два вольера не соединены более чем одним туннелем.
Выходные данные
Если можно переместить животных так, чтобы каждый вольер содержал нужный тип животных, выведите possible. Иначе выведите impossible.
Примеры
Входные данные 1
3 3 1 4 4 7 7 1 1 2 2 3 1 3
Выходные данные 1
possible
Входные данные 2
2 1 1 2 2 1 1 2
Выходные данные 2
impossible
Входные данные 3
5 6 10 40 20 30 30 50 40 20 50 10 1 2 2 3 1 3 3 4 3 5 4 5
Выходные данные 3
possible
Входные данные 4
4 4 10 10 10 20 20 10 20 20 1 2 2 3 3 4 1 4
Выходные данные 4
impossible