쓰리 비트 컴퓨터의 역습

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

문제

바이트랜드의 과학자들은 쓰리 비트 컴퓨터(TBC)를 넘어, 훨씬 더 강력한 새 설계인 양자 쓰리 비트 컴퓨터(QTBC) 로 나아갔다. 양자 기계에서는 메모리 초기화가 완전히 다른 문제인데, 어떤 연산을 하든 그 부작용이 모든 메모리에 동시에 영향을 주기 때문이다.

이를 해결하기 위해 과학자들은 대규모 제어 임펄스(LSCI) 를 사용한다. 하나의 임펄스는 모든 메모리 비트에 동시에, 정확히 같은 방식으로 작용하므로 함수 f:{0,1,,n1}{0,1,,n1}f : \{0, 1, \ldots, n-1\} \to \{0, 1, \ldots, n-1\} 로 나타낼 수 있다. 임펄스 ff 를 방출하면, 현재 상태가 ss 인 모든 비트는 상태 f(s)f(s) 로 바뀐다. 예를 들어 f(3)=5f(3) = 5 는 상태 33 인 모든 비트가 상태 55 로 바뀐다는 뜻이다.

과학자들은 서로 다른 임펄스 f1,f2,,fkf_1, f_2, \ldots, f_k 를 방출할 수 있다. 임펄스는 원하는 순서로, 원하는 만큼 반복해서 방출할 수 있으며, 임펄스들을 차례로 방출하면 대응하는 함수가 모든 비트에 동시에, 순서대로 적용된다.

각 비트의 초기 상태가 무엇이든, 모든 메모리 비트를 상태 00 으로 만드는 임펄스의 순서가 존재하는지 판정하여라. 다시 말해, 주어진 함수들의 어떤 합성이 {0,1,,n1}\{0, 1, \ldots, n-1\} 의 모든 상태를 00 으로 보내는지 판정하는 문제이다.

입력

첫째 줄에 테스트 케이스의 수 TT (1T101 \le T \le 10) 가 주어진다.

각 테스트 케이스의 첫째 줄에는 두 정수 nnkk (1n2001 \le n \le 200, 1k51 \le k \le 5) 가 주어진다. 여기서 nn 은 메모리 비트가 가질 수 있는 상태의 수이고, kk 는 사용할 수 있는 임펄스의 수이다.

이어지는 kk 개의 줄은 각각 하나의 임펄스를 나타낸다. 그중 ii 번째 줄에는 nn 개의 정수 fi(0) fi(1)  fi(n1)f_i(0)\ f_i(1)\ \ldots\ f_i(n-1) 이 하나의 공백으로 구분되어 주어지며, 각 값은 {0,1,,n1}\{0, 1, \ldots, n-1\} 에 속한다.

출력

각 테스트 케이스마다 한 줄에, 모든 메모리 비트를 상태 00 으로 만들 수 있으면 YES 를, 그렇지 않으면 NO 를 출력한다.