한 온라인 소매업체는 여러 제조사에서 들여온 그릇을 판매한다. 각 배송은 여러 개의 그릇 더미로 이루어지며, 더미 하나는 한 제조사의 그릇들이다. 각 더미의 그릇은 이미 지름 순으로 정렬되어 있어, 가장 작은 그릇이 맨 위에 있고 가장 큰 그릇이 맨 아래에 있다(즉, 위에서 아래로 지름이 비 내림차순이다).
포장 시간을 줄이기 위해, 들어온 모든 더미를 하나의 정렬된 더미로 합쳐야 한다. 이때에도 가장 작은 그릇이 맨 위, 가장 큰 그릇이 맨 아래에 오도록 해야 한다. 사용할 수 있는 연산은 정확히 두 가지이다.
어떤 더미를 통째로 다른 더미 위에 올릴 수 없다면, 먼저 분할한 뒤 조건을 만족하는 부분만 결합해야 한다. 더미들이 주어질 때, 하나의 정렬된 더미로 만드는 데 필요한 분할과 결합 연산의 최소 횟수를 구하여라.
입력은 하나 이상의 테스트 케이스로 이루어지며 파일 끝까지 읽는다.
각 테스트 케이스의 첫 줄에는 더미의 개수를 나타내는 정수 $n$ ($1 \le n \le 50$)이 주어진다. 이어지는 $n$개의 줄은 각각 하나의 더미를 나타내며, 더미의 높이 $h$ ($1 \le h \le 50$)로 시작하고 그 뒤에 더미의 맨 위에서 맨 아래까지의 그릇 지름 $h$개가 주어진다. 모든 지름은 $10000$ 이하의 정수이며, $h$개의 지름은 비 내림차순으로 주어진다.
각 테스트 케이스마다 한 줄에 Case X: k를 출력한다. 여기서 $X$는 테스트 케이스 번호($1$부터 시작)이고, $k$는 그 테스트 케이스의 더미들을 하나의 정렬된 더미로 합치는 데 필요한 분할과 결합 연산의 최소 횟수이다.