주사위 스트레이트 (라지)

주사위마다 서로 다른 여섯 수가 적혀 있고, 각 주사위에서 많아야 하나를 골라 고른 값들이 연속된 정수가 되도록 할 때 가장 긴 구간의 길이를 구한다.

보통7그래프동적 계획법그리디해시맵아직 제출이 없습니다시간 제한30초메모리 제한512 MB

문제

여섯 면에 서로 다른 양의 정수가 하나씩 적힌 주사위가 NN개 있다. 주사위마다 적힌 수는 다를 수 있다.

주사위 중 일부 또는 전부를 한 줄로 늘어놓아 윗면에 보이는 수가 연속한 정수가 되게 만들려고 한다. 이렇게 만든 줄을 스트레이트라고 부른다. 주사위마다 어느 면을 위로 둘지는 마음대로 고를 수 있고, 한 주사위는 많아야 한 번 쓸 수 있다.

만들 수 있는 스트레이트의 최대 길이를 구하라.

입력

첫째 줄에 테스트 케이스의 개수 TT가 주어진다. 이어서 TT개의 테스트 케이스가 주어진다.

각 테스트 케이스의 첫째 줄에는 주사위의 개수 NN이 주어진다. 이어지는 NN개의 줄 중 ii번째 줄에는 ii번 주사위의 여섯 면에 적힌 수 Di1,Di2,,Di6D_{i1}, D_{i2}, \dots, D_{i6}이 주어진다. 한 주사위에 적힌 여섯 수는 모두 다르다.

제한

  • 1T1001 \le T \le 100
  • 1N500001 \le N \le 50000
  • 1Dij1061 \le D_{ij} \le 10^6
  • 모든 테스트 케이스의 NN의 합은 200000200000 이하이다.

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, yy는 만들 수 있는 가장 긴 스트레이트의 길이이다.

힌트

예제의 첫 번째 테스트 케이스에서는 네 번째 주사위의 2, 세 번째 주사위의 3, 첫 번째 주사위의 4, 두 번째 주사위의 5를 위로 두어 길이 4인 스트레이트를 만든다.

두 번째 테스트 케이스에서는 길이 1인 스트레이트보다 긴 것을 만들 수 없다.

세 번째 테스트 케이스에서는 서로 다른 세 주사위에서 1, 2, 3을 하나씩 고른다. 여섯 면에 적힌 수가 똑같은 주사위가 여러 개 있어도 된다.