Bei der Verwaltung eines Zoos möchtest du manchmal Tiere zwischen Gehegen umsetzen. Vielleicht stellst du fest, dass die Zebras das geräumigere Gehege der Pinguine mögen würden, während die Pinguine in das kältere Gehege der Koalas ziehen möchten; die Koalas würden in ein leeres Gehege umziehen, das mit Eukalyptus gefüllt werden kann. Also würdest du zuerst die Koalas umsetzen, um das kältere Gehege freizumachen, dann die Pinguine dorthin und zuletzt die Zebras.
Zum Umsetzen der Tiere nutzt du besondere Tunnel zwischen den Gehegen. Die Tiere sollen nicht draußen laufen, sowohl wegen der Gefahr, dass sie sich erschrecken, als auch wegen der Gefahr, dass sie weglaufen und sich verletzen.
Ein Foto eines Zoos mit einem Kamel, einem Esel und (einem Teil) einer Ziege.
Leider hast du vor Kurzem weitere Tiere bekommen, und nun sind alle Gehege voll, was das Umsetzen erheblich erschwert. Stell dir etwa vor, die Koalas sollten in das bisherige Zebragehege ziehen: Dann kannst du keine Tiergruppe zuerst umsetzen. Stattdessen hast du gelernt, Tiere gleichzeitig umzusetzen: Zebras, Koalas und Pinguine betreten gleichzeitig verschiedene Tunnel und kommen gleichzeitig in ihren neuen Gehegen an, sodass sie sich nie begegnen. Beachte, dass du so nicht einfach die Tiere zweier verbundener Gehege vertauschen kannst (denn sie würden sich im Tunnel begegnen und erschrecken).
Nun hast du also ein Rätsel. Du hast eine Liste von Gehegen, jedes mit einer Tierart darin; manche sind durch Tunnel verbunden. Beliebig oft kannst du eine Menge von Tieren auswählen und jedes in ein durch einen Tunnel benachbartes Gehege bewegen, sofern das Tier in diesem Gehege ebenfalls während desselben Zuges bewegt wird und kein Tunnel während desselben Zuges mehr als einmal benutzt wird. Außerdem hast du eine Vorstellung von der perfekten Anordnung der Tiere. Lässt sie sich durch eine Folge von Zügen erreichen?
Eingabe
Die erste Eingabezeile besteht aus zwei ganzen Zahlen $n$ ($1 \le n \le 4 \cdot 10^5$) und $m$ ($0 \le m \le 4 \cdot 10^5$), der Anzahl der Gehege und Tunnel. Danach folgen $n$ Zeilen, deren $i$-te zwei ganze Zahlen $b_i$ ($1 \le b_i \le 10^6$) und $e_i$ ($1 \le e \le 10^6$) enthält. Sie geben die Tierart an, die sich anfangs im Gehege $i$ befindet, und die Tierart, die nach allen Zügen im Gehege $i$ sein soll. Du darfst annehmen, dass $e_1, \ldots, e_n$ eine Permutation von $b_1, \ldots, b_n$ ist.
Danach folgen $m$ Zeilen, die die Tunnel beschreiben. Jede enthält zwei ganze Zahlen $x$ und $y$ ($1 \le x < y \le n$), die angeben, dass die Gehege $x$ und $y$ durch einen Tunnel in beide Richtungen verbunden sind. Keine zwei Gehege sind durch mehr als einen Tunnel verbunden.
Ausgabe
Falls sich die Tiere so umsetzen lassen, dass jedes Gehege die gewünschte Tierart enthält, gib possible aus. Andernfalls gib impossible aus.
Beispiele
Eingabe 1
3 3 1 4 4 7 7 1 1 2 2 3 1 3
Ausgabe 1
possible
Eingabe 2
2 1 1 2 2 1 1 2
Ausgabe 2
impossible
Eingabe 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
Ausgabe 3
possible
Eingabe 4
4 4 10 10 10 20 20 10 20 20 1 2 2 3 3 4 1 4
Ausgabe 4
impossible