신문의 연말 경제 결산 기사를 쓰면서, 지난 한 해 동안 주가가 어떻게 움직였는지 보여줄 그래프를 넣기로 했다. 종목 n개의 가격을 한 해의 같은 시점 k곳에서 측정한 값을 쓴다.
한 종목의 단순 차트는 점 (0,pricei,0), (1,pricei,1), …, (k−1,pricei,k−1)을 차례대로 선분으로 이은 그림이다. 여기서 pricei,j는 i번 종목의 j번째 시점 가격이다.
지면을 아끼려고 겹친 차트를 쓴다. 겹친 차트는 단순 차트 하나 이상을 한 그림에 겹쳐 그린 것으로, 여러 종목의 가격을 종목마다 선 하나씩 그려서 보여준다. 어느 선이 어느 종목인지 헷갈리지 않도록, 한 겹친 차트 안의 선은 서로 교차하거나 닿아서는 안 된다.
종목 n개의 시점 k곳 가격이 주어질 때, 모든 종목의 가격을 보여주는 데 필요한 겹친 차트의 최소 개수를 구하여라.
첫 줄에 테스트 케이스의 개수 T가 주어진다. 이어서 테스트 케이스 T개가 각각 다음 형식으로 주어진다.
n k
price[0][0] price[0][1] ... price[0][k-1]
price[1][0] price[1][1] ... price[1][k-1]
...
price[n-1][0] price[n-1][1] ... price[n-1][k-1]
첫 줄에 종목 수 n과 시점 수 k가 주어지고, 다음 n개 줄에 각 종목의 가격이 시점 순서대로 주어진다. pricei,j는 정수이다.
제한
테스트 케이스마다 한 줄에 Case #X: Y 형식으로 출력한다. X는 1부터 시작하는 테스트 케이스 번호이고, Y는 모든 종목의 가격을 보여주는 데 필요한 겹친 차트의 최소 개수이다.