도박 기계

아직 제출이 없습니다시간 제한1초메모리 제한128 MB

문제

도박 기계는 nn개의 정수 생성기 G1,G2,,GnG_1, G_2, \ldots, G_n으로 이루어진다 (1n10001 \le n \le 1000). 각 생성기 GiG_i에는 고정된 집합 Si{1,2,,n}S_i \subseteq \{1, 2, \ldots, n\}이 정해져 있다. ki=Sik_i = |S_i|라 하면 집합은 비어 있을 수도 있고, 모든 kik_i의 합 k1+k2++knk_1 + k_2 + \cdots + k_n1200012000을 넘지 않는다.

생성기가 활성화될 때마다 다음 규칙에 따라 정수 하나를 만들어 낸다.

  • GiG_i가 처음 활성화되면 SiS_i의 원소 하나를 만들어 낸다.
  • 이후 활성화될 때마다 GiG_i는 아직 만들어 내지 않은 SiS_i의 원소를 하나 만들어 낸다. 각 생성기가 원소를 내보내는 순서는 마음대로 정할 수 있다.
  • SiS_i의 모든 원소를 이미 만들어 냈다면 (특히 SiS_i가 비어 있으면) GiG_i00을 만들어 낸다.

기계는 항상 G1G_1을 활성화하며 시작한다. 어떤 생성기가 양의 정수 rr을 만들어 내면 다음에는 GrG_r이 활성화된다. 어떤 생성기가 00을 만들어 내는 순간 기계는 멈춘다.

멈춤을 일으킨 00을 마지막 생성기 GnG_n이 만들어 냈고, 그 순간 모든 생성기가 자신의 집합을 이미 다 써 버린 (모든 SiS_i의 모든 원소가 이미 나온) 경우 기계는 패배한다. 위의 순서 선택을 모두 고려했을 때 00으로 멈추면서 패배가 아닌 실행이 하나라도 존재하면 그 기계는 잘 만들어진 것이다.

주어진 기계가 잘 만들어졌는지 판정하라.

입력

첫 줄에 생성기의 개수 nn이 주어진다 (1n10001 \le n \le 1000). 다음 nn개의 줄은 각 생성기를 설명하며, i+1i + 1번째 줄에는 kik_i와 그 뒤에 SiS_i의 원소 kik_i개가 임의의 순서로 공백 하나로 구분되어 주어진다. 모든 원소는 {1,,n}\{1, \ldots, n\}에 속하고, 한 줄 안의 원소는 서로 다르며, k1++kn12000k_1 + \cdots + k_n \le 12000이다.

출력

기계가 잘 만들어졌으면 TAK을, 그렇지 않으면 NIE를 출력한다.