좋은 문제 집합

문제 정보

문제

K모 대학의 한 교수님께서는 대회에 사용되는 M개의 문제들이 있을 때 다음의 조건을 만족해야 '좋은 문제 집합' 이라고 정의하신다.

  1. 모든 참가자는 적어도 한 문제를 풀어야 한다.
  2. 모든 문제를 푼 참가자는 없어야 한다.
  3. 각 문제는 적어도 한 참가자에 의해 풀려야 한다.

경근이는 KAIST ACM-ICPC 모의대회의 검수를 하게 되었다. 그는 대회에 참가할 N명의 참가자가 어떤 문제들을 풀지 문제들의 수준을 보고 예상 하였다. 그 예상한 결과가 실제로 이루어졌을 때 과연 문제들은 '좋은 문제 집합' 의 기준을 만족할까?

입력

첫 줄에는 테스트 케이스의 수 T가 주어진다.

각 테스트 케이스마다 첫 번째 줄에는 참가자의 수 N(1 \le N \le 500)과 문제의 수 M(1 \le M \le 500)이 주어진다. 다음 N개의 줄에는 각 참가자들이 풀 수 있다고 예상된 문제들에 대한 정보들이 주어진다. 각 줄에는 i번째 참가자가 풀 수 있다고 예상되는 문제들의 개수 X_i(0 \le X_i \le M)가 먼저 주어지고 뒤이어 참가자가 풀 수 있다고 보이는 문제의 번호들을 나타내는 서로 다른 X_i개의 수가 주어진다. (모든 문제는 1,2, \cdots ,M으로 숫자가 매겨진다)

출력

각 테스트케이스마다 문제 집합이 ‘좋은 문제 집합’이면 YES, 아니면 NO를 한 줄에 출력한다.

예제 입력

2
3 4
2 3 4
3 1 2 3
1 1
3 3
3 3 2 1
2 2 1
1 1

예제 출력

YES
NO

노트

3개의 댓글이 있습니다.