사람은 사람을 좋아한다
시간 제한1초메모리 제한128 MB
각자 최대 세 명을 적은 호감 투표 결과에서 투표했고 서로에게만 호감을 주고받는 가장 큰 집단의 크기를 구합니다.
문제
김 선생님 반 학생들은 반에서 누가 인기 있는지 알아보기 위해 인기 투표를 했다. 각 학생은 자기 자신을 제외하고, 자신이 좋아하는 학생을 최대 세 명까지 골라 그 학생의 번호를 적어 투표했다.
투표가 끝나고 인기 있는 학생들이 정해진 뒤, 김 선생님은 결과를 보다가 다음 문제가 궁금해졌다. 가장 큰 코어(core)는 무엇일까?
학생들의 집합이 코어(core)라고 불리려면, 그 집합에 속한 모든 학생이 다음을 만족해야 한다.
- 투표를 했고,
- 집합 안의 학생을 좋아하되 집합 밖의 학생은 아무도 좋아하지 않으며,
- 집합 안의 누군가에게 좋아함을 받았다.
좀 더 정확히 말하면, 반에 명의 학생이 있을 때 각 학생은 부터 까지의 번호로 나타낸다. 예를 들어 아래 표는 김 선생님 반 학생 명의 투표 결과를 보여 준다.

번, 번, 번 학생은 결석하여 투표하지 않았으므로 표의 왼쪽 열에 나타나지 않는다.
김 선생님은 집합 이 코어임을 발견했다. 이 집합의 모든 학생은 투표를 했고, 집합 안의 학생을 좋아하되 밖의 학생은 좋아하지 않으며, 집합 안의 누군가에게 좋아함을 받았다. 구체적으로 은 을, 는 을, 는 을, 은 를, 은 을 좋아한다. 이들이 좋아하는 학생을 모두 모으면 으로, 집합 자신과 같다. 이 집합의 학생 수는 다섯 명이다. 도 코어이지만 더 작다. 사실 위 표에서는 학생이 여섯 명 이상인 코어를 만들 수 없으므로, 위 투표 결과에서 가장 큰 코어의 크기는 이다.
투표 결과가 주어질 때 가장 큰 코어의 크기를 구하는 프로그램을 작성하시오.
입력
입력은 개의 테스트 케이스로 이루어진다. 테스트 케이스의 개수 가 입력의 첫 줄에 주어진다.
각 테스트 케이스의 첫 줄에는 두 정수 과 이 주어진다. ()은 반의 학생 수이고, 은 투표한 학생 수이다.
이어지는 개의 줄에는 각각 한 학생의 투표 정보가 주어진다. 각 줄은 학생 번호를 나타내는 정수 ()로 시작하고, 이어서 그 학생이 적은 학생 수를 나타내는 정수 ()가 오며, 마지막으로 학생 가 적은 개의 학생 번호가 차례로 주어진다.
출력
각 테스트 케이스마다 정확히 한 줄을 출력한다. 그 줄에는 가장 큰 코어의 크기를 나타내는 정수 하나를 출력한다.