시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 1024 MB411100.000%

문제

Bajtazar jest światowej sławy specjalistą od zarządzania zasobami ludzkimi. Ostatnio został zatrudniony przez pewną korporację informatyczną, aby przeprowadzić reorganizację jej skostniałej struktury.

Zaproponowana przez Bajtazara nowa struktura jest genialna w swojej prostocie. Opiera się na kilku podstawowych pojęciach: dyrektor, szef oraz przełożony.

  • Dokładnie jeden z pracowników korporacji zostanie dyrektorem i nie będzie miał żadnego szefa.
  • Każdy pracownik poza dyrektorem będzie miał dokładnie jednego szefa.
  • Do przełożonych pracownika zaliczymy jego szefa oraz przełożonych tegoż szefa.
  • Dyrektor będzie przełożonym każdego innego pracownika.

Korzystając z języka teorii grafów: pracownik to węzeł drzewa hierarchii, dyrektor to jego korzeń, szef pracownika to ojciec węzła, a przełożony to przodek.

Bajtazar doszedł do wniosku, że dotychczasowe problemy w korporacji wynikały z antypatii pomiędzy pracownikami pozostającymi w relacji przełożony-podwładny. Aby uniknąć takich problemów po reorganizacji, zebrał informacje o preferencjach wszystkich pracowników. Każdy z nich mógł wypowiedzieć się o dowolnej liczbie kolegów na jeden z dwóch sposobów: „Chcę, aby X został moim przełożonym.” albo „Nie chcę, aby X został moim przełożonym.” Teraz Bajtazar postara się opracować taką hierarchię, aby wszystkie preferencje zostały uwzględnione.

입력

W pierwszym wierszu wejścia znajdują się dwie liczby całkowite n oraz m (1 ≤ n ≤ 1000, 0 ≤ m ≤ min{n(n−1), 10 000}), oznaczające odpowiednio liczbę pracowników korporacji oraz liczbę zebranych preferencji. Pracownicy są ponumerowani kolejnymi liczbami od 1 do n.

Kolejne m wierszy opisuje preferencje pracowników. Każdy z nich jest postaci a b c, gdzie a i b (a ≠ b) są numerami pracowników, a c jest znakiem ze zbioru {T, N}. Jeżeli c = T, to wiersz taki oznacza, że pracownik a chce, aby pracownik b został jego przełożonym. Jeśli zaś c = N, to a nie chce, aby b został jego przełożonym. Dla każdej uporządkowanej pary numerów pracowników (a, b), wiersz postaci a b c pojawia się na wejściu co najwyżej raz.

출력

Jeżeli nie da się stworzyć hierarchii uwzględniającej wszystkie preferencje pracowników, na wyjście należy wypisać słowo NIE. W przeciwnym wypadku Twój program powinien wypisać n wierszy opisujących dowolną hierarchię uwzględniającą preferencje wszystkich pracowników, i-ty wiersz powinien zawierać pojedynczą liczbę całkowitą – numer szefa pracownika o numerze i. Wiersz odpowiadający pracownikowi, który ma zostać dyrektorem, powinien zawierać liczbę 0.

예제 입력 1

4 4
4 1 T
4 2 T
3 2 N
4 3 N

예제 출력 1

0
1
1
2

예제 입력 2

2 2
1 2 N
2 1 N

예제 출력 2

NIE