요정 토너먼트 줄 세우기

2^N명 엘프를 토너먼트 초기 순서에 배치해 각 민감한 엘프가 지정된 친구와 K 라운드까지 대결하지 않게 할 수 있는지 판단합니다.

보통7백트래킹그래프분할 정복아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

요정 나라에서 요정 2N2^N명이 참가하는 토너먼트를 연다. 대회가 시작되기 전에 요정마다 11부터 2N2^N까지 서로 다른 번호를 붙이고, 요정 대통령이 원하는 순서로 모두를 한 줄로 세운다.

경기는 요정 두 명이 치르고 언제나 승자와 패자가 갈린다. 무승부는 없다. 1라운드에서는 줄의 첫 번째 요정과 두 번째 요정이 맞붙고, 세 번째와 네 번째가 맞붙는 식으로 진행한다. 진 요정 2N12^{N-1}명은 줄에서 빠지고 이긴 요정 2N12^{N-1}명은 자리를 그대로 지키며, 2라운드도 같은 방식으로 남은 요정을 짝지어 치른다. NN라운드가 끝나면 한 명만 남고, 그 요정이 우승한다.

이 중 MM명은 예민하다. 번호가 EiE_i인 예민한 요정은 친구 BiB_i명의 명단이 있고, 처음 KiK_i개 라운드 안에 그 명단에 있는 친구와 경기를 하게 되면 슬퍼한다. 친구 관계는 한쪽만 성립하기도 한다. 요정 aa가 요정 bb를 친구로 여겨도 요정 bb는 요정 aa를 친구로 여기지 않을 수 있다.

대통령은 경기 결과가 어떻게 나오든 슬퍼하는 요정이 한 명도 없도록 처음 순서를 정하려고 한다. 그런 순서가 있는지 판정하라.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 각 테스트 케이스의 첫 줄에는 정수 NNMM이 주어진다. 이어서 두 줄로 이루어진 묶음이 MM개 주어진다. 각 묶음의 첫 줄에는 정수 EiE_i, KiK_i, BiB_i가 주어지고, 둘째 줄에는 요정 EiE_i의 친구 번호 BiB_i개가 주어진다.

제한

  • 1T2001 \le T \le 200
  • 1N41 \le N \le 4
  • 0M2N0 \le M \le 2^N
  • 1Ei2N1 \le E_i \le 2^N이고, MM개의 EiE_i는 모두 다르다
  • 1KiN1 \le K_i \le N
  • 친구 번호는 모두 11 이상 2N2^N 이하이고, EiE_i와 다르며, 요정 EiE_i의 명단에 두 번 나오지 않는다
  • MB1+B2++BMmin(2M,2N)M \le B_1 + B_2 + \dots + B_M \le \min(2M, 2^N)

출력

각 테스트 케이스마다 "Case #x: "를 출력하고, 슬퍼하는 요정이 하나도 없게 줄을 세울 수 있으면 YES를, 그렇지 않으면 NO를 이어서 한 줄에 출력한다. x는 1부터 시작하는 테스트 케이스 번호이다.