좋은 문제 집합
문제 정보
-
- 문제 ID
- 시간 제한
- 메모리 제한
- 제출 횟수
- 정답 횟수 (비율)
-
- 출처
- 분류
문제
K모 대학의 한 교수님께서는 대회에 사용되는 M개의 문제들이 있을 때 다음의 조건을 만족해야 '좋은 문제 집합' 이라고 정의하신다.
- 모든 참가자는 적어도 한 문제를 풀어야 한다.
- 모든 문제를 푼 참가자는 없어야 한다.
- 각 문제는 적어도 한 참가자에 의해 풀려야 한다.
경근이는 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
노트