Problem description
Jasio kupił konsolę. Do konsoli dołączona była bardzo prosta gra. Na ekranie pokazana jest kratownica z pokolorowanymi niektórymi polami. Pola pokolorowane tworzą dwie rozłączne ścieżki o równej długości, po których należy przejść po kolei. Na początku każdej z tych ścieżek jest po jednym pionku i to tymi pionkami należy się przesuwać.
Przykładową rozgrywkę obrazuje poniższy rysunek:
Ścieżki mogą zawierać samoprzecięcia (jak widać na przykładzie powyżej), ale dla Jasia zawsze jest jasne w jakiej kolejności należy je przechodzić. Ścieżki między sobą się nie przecinają ani nie dotykają.
Problem jest inny: Jasio ma do dyspozycji tylko jeden kontroler. Podejrzewa, że powinien mieć dwa, po jednym na każdą ścieżkę, ale jego tata, Pan Janusz twierdzi inaczej. Szczęśliwie: gdy Jasio naciska klawisz na kontrolerze, oba pionki przesuwają się w tym kierunku jednocześnie. Gdyby jakiś z pionków miał wyjść poza ścieżkę to po prostu pozostaje bez ruchu. Jeśli Jasio z jakiegoś powodu zacznie się cofać na którejś ze ścieżek, to gra cofa jego progres do takiej samej sytuacji, jak gdyby odpowiadającego ruchu do przodu nie wykonał.
Jasio zastanawia się teraz, czy bez drugiego kontolera jest w stanie pokonać ustalony poziom tej gry – to znaczy zastanawia się, czy jest w stanie jednocześnie umieścić oba pionki na końcowych polach ich ścieżek.
Napisz program, który: wczyta opisy obu ścieżek, wyznaczy czy jest możliwe przejście gry z użyciem tylko jednego kontrolera zgodnie z zasadami powyżej i wypisze wynik na standardowe wyjście.
Wejście
Wejście zawiera dwa (niepuste) ciągi znaków G
,
D
, L
, P
o równej długości, w
dwóch osobnych wierszach. Każdy z tych ciągów opisuje jedną ze ścieżek w
grze. Kolejne znaki napisu oznaczają kolejne ruchy, które należy
wykonywać, odpowiednio: góra, dół, lewo,
prawo.
Gwarantowane jest, że żadne dwa kolejne znaki nie reprezentują przeciwnych kierunków.
Wyjście
Twój program powinien wypisać na wyjście dokładnie jedno słowo
TAK
, jeśli jest możliwe przejście gry, lub NIE
w przeciwnym przypadku.
Ograniczenia
Długość każdego z ciągów z wejścia nie przekracza 1 000 000 znaków.
Przykład
Input | Output | Explanation |
|
|
Test obrazuje sytuację z obrazka
powyżej. Przykładowa sekwencja ruchów prowadząca do zwycięstwa to:
|
Input | Output | Explanation |
|
|
Niestety, nie jest możliwe umieszczenie obu pionków jednocześnie na polach końcowych. |