좌석 번호를 미리 정하지 않는 항공사가 있다. 승객은 표를 한 장씩 받고, 표에는 1 이상 n 이하의 서로 다른 정수가 적혀 있다. n은 비행기의 좌석 수다. 표 번호는 구역으로 나뉜다. 한 구역에 표 k장이 들어가므로 번호 1부터 k까지가 1번 구역, k+1부터 2k까지가 2번 구역이고, 그다음도 같은 방식이다. n이 k로 나누어떨어지지 않으면 마지막 구역에는 표가 k장보다 적게 들어간다.
탑승 전에 승객 n명이 아무 순서로 한 줄로 선다. 탑승을 빨리 끝내려면 줄의 앞 k명이 1번 구역, 그다음 k명이 2번 구역, 이후도 같은 방식으로 서 있어야 한다. 같은 구역 안에서는 서는 순서가 상관없다. 줄을 이렇게 바꾸는 방법은 두 가지다.
첫 번째 방법이 시간은 더 걸리지만 덜 시끄럽다. 두 번째 방법이 얼마나 빠른지 구하면 된다. 첫 번째 방법으로 줄을 정리하는 최소 시간을 X, 두 번째 방법의 최소 시간을 Y라고 할 때 X−Y를 구한다.
n=10, k=3이고 줄이 앞에서부터 3 7 1 2 4 6 5 8 10 9 순서라고 하자. 각 정수는 그 자리에 선 승객의 표 번호다. 맨 앞에 선 승객의 표는 3번이다. 표 번호가 7, 2, 5, 10, 9인 승객은 제자리에 없다.
첫 번째 방법으로는 교환을 최소 6번 해야 하므로 6초가 걸린다.
두 번째 방법으로는 최종 순서를 3 2 1 4 6 5 7 8 9 10으로 정하면 5초가 걸린다. 표 번호가 3, 1, 8인 승객은 이미 제자리에 있고, 표 번호가 4, 5, 6, 9, 10인 승객은 1초, 표 번호가 2인 승객은 2초, 표 번호가 7인 승객은 5초 걷는다. 5초가 나오는 최종 순서는 여러 가지지만 5초보다 줄일 수는 없다. 따라서 X=6, Y=5이고 두 번째 방법이 1초 빠르다.
첫 줄에 테스트 케이스의 개수 T가 주어진다. (T<50)
각 테스트 케이스는 두 줄이다. 첫 줄에 양의 정수 n과 k가 주어진다. (n≤20000, k≤n) 두 번째 줄에 1 이상 n 이하의 서로 다른 정수 n개가 주어진다. 첫 번째 정수는 줄의 맨 앞에 선 승객의 표 번호다.
각 테스트 케이스마다 Case x: y 형식으로 한 줄씩 출력한다. x는 1부터 시작하는 테스트 케이스 번호이고, y는 두 번째 방법이 몇 초 더 빠른지, 즉 X−Y다.