Małpki
Limit pamięci: 32 MB
Na drzewie wisi
małpek ponumerowanych od 1 do
.
Małpka z nr 1 trzyma się gałęzi ogonkiem.
Pozostałe małpki albo są trzymane przez inne małpki,
albo trzymają się innych małpek, albo jedno i drugie równocześnie.
Każda małpka ma dwie przednie łapki, każdą może trzymać co najwyżej
jedną inną małpkę (za ogon).
Rozpoczynając od chwili 0, co sekundę jedna z małpek
puszcza jedną łapkę.
W ten sposób niektóre małpki spadają na ziemię,
gdzie dalej mogą puszczać łapki
(czas spadania małpek jest pomijalnie mały).
Zadanie
Napisz program, który:
-
wczyta ze standardowego wejścia opis tego,
w jaki sposób małpki się trzymają
oraz w jakiej kolejności puszczają łapki,
-
dla każdej małpki obliczy, kiedy spadnie ona na ziemię,
-
wypisze wynik na standardowe wyjście.
Wejście
Pierwszy wiersz standardowego wejścia zawiera dwie dodatnie
liczby całkowite

i

,

,

.
Liczba

oznacza liczbę małpek, a liczba

czas (w sekundach) przez
jaki obserwujemy małpki.
Kolejne

wierszy zawiera opis sytuacji początkowej.
W wierszu

(

) znajdują się dwie liczby całkowite
oznaczające numery małpek trzymanych przez małpkę nr

.
Pierwsza z tych liczb to numer małpki trzymanej lewą łapką,
a druga - prawą.
Liczba

oznacza, że małpka ma wolną łapkę.
Kolejne

wierszy opisuje wyniki obserwacji małpek.
W

-tym spośród tych wierszy (

) znajdują się dwie
liczby całkowite.
Pierwsza z nich oznacza numer małpki, a druga numer łapki
(1 - lewa, 2 - prawa), którą małpka puszcza w chwili

.
Wyjście
Twój program powinien wypisać na standardowe wyjście dokładnie

liczb całkowitych, po jednej w wierszu.
Liczba w wierszu

powinna oznaczać chwilę, w której małpka nr

spadła na ziemię, lub być równa

,
jeśli małpka nie spadła na ziemię w trakcie obserwacji.
Przykład
Dla danych wejściowych:
3 2
-1 3
3 -1
1 2
1 2
3 1
poprawną odpowiedzią jest:
-1
1
1
Autor zadania: Andrzej Gąsienica-Samek.