김 선생님 반 학생들은 반에서 누가 인기 있는지 알아보기 위해 인기 투표를 했다. 각 학생은 자기 자신을 제외하고, 자신이 좋아하는 학생을 최대 세 명까지 골라 그 학생의 번호를 적어 투표했다.
투표가 끝나고 인기 있는 학생들이 정해진 뒤, 김 선생님은 결과를 보다가 다음 문제가 궁금해졌다. 가장 큰 코어(core)는 무엇일까?
학생들의 집합이 코어(core)라고 불리려면, 그 집합에 속한 모든 학생이 다음을 만족해야 한다.
좀 더 정확히 말하면, 반에 N명의 학생이 있을 때 각 학생은 1부터 N까지의 번호로 나타낸다. 예를 들어 아래 표는 김 선생님 반 학생 12명의 투표 결과를 보여 준다.

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