W urzędzie ochrony galaktyki pojawili się podwójni agenci. Podwójni agenci spowodowali dekonspiracje kilku agentów urzędu. Kapitan Mambeks ma za zadanie znaleźć zdrajców. Urząd ochrony galaktyki jest zorganizowany hierarchicznie. Agent ma przełożonego lub odpowiada bezpośrednio przed prezydentem galaktyki. Agent może być przełożonym dowolnej ilości innych agentów. W strukturze nadzoru nie występują cykle. Przełożony posiada informacje o swoich podwładnych oraz wszystkie informacje które posiadają jego podwładni.
Problemem jest przetwarzanie danych o ogromnej siatce szpiegowskiej. Podstawowym problemem dla kapitana jest stwierdzenie czy pewien agent posiada informacje o innym agencie. Napisz program który wczytuje opis struktury urzędu, wczytuje pytania kapitana i oblicza odpowiedzi.
Dane wejściowe:
W pierwszym wierszu zapisana jest liczba zestawów danych wejściowych n, n >= 0 i n <= 20. W kolejnych wierszach jest zapisanych n zestawów danych wejściowych. W pierwszym wierszu zestawu znajdują się dwie dodatnie liczby całkowite p i q, 0 < p <= 10000, 0 < q <= 20000. W kolejnych p wierszach zestawu są zapisane pary identyfikatorów agentów - identyfikator przełożonego i identyfikator podwładnego oddzielone znakiem odstępu. W kolejnych q wierszach są zapisane pary identyfikatorów agentów o których pyta kapitan. Identyfikator agenta to ciąg cyfr i małych liter alfabetu. Długość identyfikatora nie przekracza 20 znaków.
Dane wyjściowe:
Dla każdego pytania kapitana program powinien wyświetlić jeden wiersz odpowiedzi. Jeżeli agent identyfikowany pierwszym identyfikatorem z pytania kapitana posiada informacje o agencie o identyfikowanym drugim identyfikatorem to program powinien wyświetlić słowo "tak" w przeciwnym wypadku powinien wyświetlić słowo "nie".
Przykładowe dane wejściowe:
1
3 6
a b
a c
c d
a b
b a
a d
d a
b d
d b
Przykładowe dane wyjściowe:
tak
nie
tak
nie
nie
nie