사람은 사람을 좋아한다

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

문제

김 선생님 반 학생들은 반에서 누가 인기 있는지 알아보기 위해 인기 투표를 했다. 각 학생은 자기 자신을 제외하고, 자신이 좋아하는 학생을 최대 세 명까지 골라 그 학생의 번호를 적어 투표했다.

투표가 끝나고 인기 있는 학생들이 정해진 뒤, 김 선생님은 결과를 보다가 다음 문제가 궁금해졌다. 가장 큰 코어(core)는 무엇일까?

학생들의 집합이 코어(core)라고 불리려면, 그 집합에 속한 모든 학생이 다음을 만족해야 한다.

  • 투표를 했고,
  • 집합 안의 학생을 좋아하되 집합 밖의 학생은 아무도 좋아하지 않으며,
  • 집합 안의 누군가에게 좋아함을 받았다.

좀 더 정확히 말하면, 반에 NN명의 학생이 있을 때 각 학생은 11부터 NN까지의 번호로 나타낸다. 예를 들어 아래 표는 김 선생님 반 학생 1212명의 투표 결과를 보여 준다.

투표 결과 예시 표

33번, 99번, 1111번 학생은 결석하여 투표하지 않았으므로 표의 왼쪽 열에 나타나지 않는다.

김 선생님은 집합 {1,4,5,6,8}\{1, 4, 5, 6, 8\}이 코어임을 발견했다. 이 집합의 모든 학생은 투표를 했고, 집합 안의 학생을 좋아하되 밖의 학생은 좋아하지 않으며, 집합 안의 누군가에게 좋아함을 받았다. 구체적으로 11{4,8}\{4, 8\}을, 44{8}\{8\}을, 55{1,6}\{1, 6\}을, 66{5}\{5\}를, 88{1}\{1\}을 좋아한다. 이들이 좋아하는 학생을 모두 모으면 {1,4,5,6,8}\{1, 4, 5, 6, 8\}으로, 집합 자신과 같다. 이 집합의 학생 수는 다섯 명이다. {1,4,8}\{1, 4, 8\}도 코어이지만 더 작다. 사실 위 표에서는 학생이 여섯 명 이상인 코어를 만들 수 없으므로, 위 투표 결과에서 가장 큰 코어의 크기는 55이다.

투표 결과가 주어질 때 가장 큰 코어의 크기를 구하는 프로그램을 작성하시오.

입력

입력은 TT개의 테스트 케이스로 이루어진다. 테스트 케이스의 개수 TT가 입력의 첫 줄에 주어진다.

각 테스트 케이스의 첫 줄에는 두 정수 NNMM이 주어진다. NN (1N10,0001 \le N \le 10{,}000)은 반의 학생 수이고, MM은 투표한 학생 수이다.

이어지는 MM개의 줄에는 각각 한 학생의 투표 정보가 주어진다. 각 줄은 학생 번호를 나타내는 정수 ii (1iN1 \le i \le N)로 시작하고, 이어서 그 학생이 적은 학생 수를 나타내는 정수 NiN_i (1Ni31 \le N_i \le 3)가 오며, 마지막으로 학생 ii가 적은 NiN_i개의 학생 번호가 차례로 주어진다.

출력

각 테스트 케이스마다 정확히 한 줄을 출력한다. 그 줄에는 가장 큰 코어의 크기를 나타내는 정수 하나를 출력한다.