Problem hidden
|This problem was hidden by Editorial Board member probably because it has incorrect language|version or invalid test data, or description of the problem is not clear.|

AL_15_06 - Windy

Jan skończył studia z wyróżnieniem, a starty w licznych konkursach programistycznych pozwoliły mu znaleźć wymarzoną pracę... jest programistą w korporacji ;-) Właśnie poszedł na pierwszy w swojej karierze urlop i już pierwszego dnia uświadomił sobie, że przez roztargnienie zapomniał się wylogować na służbowym laptopie. Chciałby wrócić do firmy niepostrzeżenie i naprawić swój błąd jednak bardzo obawia się spotkania z szefem, który zapewne będzie zadawać wiele niewygodnych pytań. Nasz bohater ma swoje przypuszczenia odnośnie tego na których piętrach jego szef może przebywać o danej porze. Jan zdążył również zapamiętać sposób funkcjonowania wind w budynku i zna wszystkie połączenia pomiędzy piętrami. Nasz bohater postanowił, że napisze program który obliczy najkrótszy czas w jakim może znaleźć się na swoim piętrze, nie spotkawszy po drodze szefa. Napisz program za Jana stosując się do następujących zasad:

  1. Budynek posiada n pięter i jest otwarty przez 480 minut numerowanych od 0.
  2. Jan zjawi się w budynku na piętrze 0 o czasie 0.
  3. Nasz bohater musi się dostać na piętro k.
  4. Przejechanie jednego piętra trwa równo minutę.
  5. Nie można wjechać na piętro jeżeli aktualnie znajduje się na nim szef, można to zrobić najwcześniej sekundę po tym jak je opuści.
  6. Dozwolone jest czekanie na piętrze.
  7. Przesiadanie się pomiędzy windami na danym piętrze jest pomijalnie krótkie.

Wejście

W pierwszej linii wejścia znajdują się cztery liczby całkowite n, k, p oraz s (1 ≤ n ≤ 100, 0 ≤ k < n, 1 ≤ p ≤ 600, 1 ≤ s < 400) oznaczające odpowiednio liczbę pięter w budynku, piętro na które Jan musi się dostać, liczbę połączeń między piętrami oraz liczbę przypuszczeń dotyczących tego gdzie może przebywać szef. W kolejnych p liniach znajdują się opisy połączeń pomiędzy piętrami. Każdy opis składa się z dwóch liczb a i b (0 ≤ a, b < n) określających pomiędzy, którymi piętrami kursuje dana winda. Uwaga! Winda zatrzymuje się tylko na piętrach a i b. W następnych s liniach znajdują się przypuszczenia odnośnie lokalizacji szefa. Każdy opis składa się z 3 liczb nr, t1, t2 oznaczających, że od minuty t1 do minuty t2 włącznie szef może się znajdować na piętrze numer nr.

Wyjście

Wypisz NIE jeżeli nie jest możliwe dotarcie na k-te piętro bez spotkania szefa albo TAK <minimalny_czas> w przeciwnym wypadku.

Przykład

Wejście

5 2 3 2
0 2
0 3
2 3
2 2 4
1 3 400

Wyjście

TAK 5

Dodane przez:Maciej Boniecki
Data dodania:2014-03-29
Limit czasu wykonania programu:0.5s
Limit długości kodu źródłowego50000B
Limit pamięci:1536MB
Cluster: Cube (Intel G860)
Języki programowania:All except: ASM64 GOSU
Pochodzenie:ALGOLIGA

ukryj komentarze
2014-03-30 12:00:30 Maciej Boniecki
Jak to mówią spiesz się powoli ;)
2014-03-30 11:49:09 Marcin Kasprowicz
Dwie bomby za jednym wysłaniem ;(
2014-03-29 20:54:30 Szymon Wolarz
Czy może zdarzyć tak, że szef będzie się teleportował między piętrami, np. od 1 do 2 min. będzie na 1 piętrze, a od 2 do 3 na 2 piętrze?
2014-03-29 17:14:30 Maciej Boniecki
Nie może, musi opuścić piętro jednostkę czasu wcześniej.
2014-03-29 17:06:16 Mateusz Wasylkiewicz
Czy Jan może opuścić piętro na którym się znajduje dokładnie w momencie, gdy pojawi się na nim szef?
2014-03-29 14:36:29 Maciej Boniecki
Nie ma takiego przypadku żeby szef był o czasie 0 na piętrze 0 bo wtedy Jan by w ogóle nie mógł wejść do budynku, a jest napisane "Jan zjawi się w budynku na piętrze 0 o czasie 0."
2014-03-29 14:26:04 Mateusz Wasylkiewicz
Czy w przypadku, gdy na piętrze 0 w momencie 0 może być szef, Jan w ogóle nie wejdzie do budynku, czy zaczeka aż szef opuści piętro 0?

Ostatnio edytowany: 2014-03-29 14:34:30
2014-03-29 13:31:58 Maciej Boniecki
Nie
2014-03-29 13:30:17 Mateusz Wasylkiewicz
Czy Jan może czekać na piętrze w momencie, gdy przypuszcza, że może być na nim szef?
© Spoj.com. All Rights Reserved. Spoj uses Sphere Engine™ © by Sphere Research Labs.