쥐덫 (큰 입력)

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

문제

쥐덫은 혼자서 하는 카드 게임이다. 카드는 1부터 KK까지 번호가 붙은 KK장이고, 뒷면이 위로 오도록 한 덩이로 쌓여 있다. 맨 위 카드를 뒤집어 번호를 확인한 다음 그 카드를 맨 아래로 옮기고, 카드를 몇 장 확인했는지 센다. 처음 확인한 카드의 셈은 1이다. 확인한 카드의 번호가 지금 셈과 같으면 그 카드를 덱에서 빼내고 셈을 되돌린다. 그 뒤에 확인하는 카드의 셈은 다시 1이다. 셈이 K+1K+1이 되면 패배한다. 덱의 카드가 모두 없어지면 승리한다.

위에서부터 2, 5, 3, 1, 4 순서로 놓인 5장 덱으로 게임을 해 본다. 셈 1에서 2를, 셈 2에서 5를, 셈 3에서 3을 확인한다. 번호와 셈이 같으므로 3을 빼내고 셈을 되돌린다. 남은 네 장은 위에서부터 1, 4, 2, 5다. 셈 1에서 1을 확인해 이 카드도 빼낸다. 같은 방식으로 2, 4, 5를 차례로 빼내면 승리한다.

어떤 덱으로 게임을 해서 승리하고 빠져나온 카드의 번호가 1, 2, \dots, KK 순서로 커지면 그 덱을 완벽한 덱이라고 한다. 카드가 4장일 때 1, 4, 2, 3 덱은 완벽하다. 카드가 1, 2, 3, 4 순서로 빠져나오기 때문이다. 모든 KK에 대해 크기가 KK인 완벽한 덱은 정확히 하나 있으므로, 각 자리에 놓이는 카드도 하나로 정해진다.

크기가 KK인 완벽한 덱에서 몇 개의 자리에 어떤 카드가 놓이는지 구한다.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 각 테스트 케이스는 두 줄이다. 첫째 줄에 덱의 카드 수 KK가 주어진다. 둘째 줄에 정수 nn이 주어지고, 이어서 nn개의 정수 d1,d2,,dnd_1, d_2, \dots, d_n이 주어진다. 이 값은 물어보는 자리 번호다. 자리 1은 덱의 맨 위 카드, 자리 KK는 맨 아래 카드다.

  • 1T101 \le T \le 10
  • 1K1061 \le K \le 10^6
  • 1n1001 \le n \le 100
  • 1diK1 \le d_i \le K

한 테스트 케이스 안의 자리 번호는 서로 다를 필요도, 정렬되어 있을 필요도 없다.

출력

각 테스트 케이스마다 한 줄을 출력한다. 먼저 Case #x: 를 출력하고, 이어서 정수 nnk1,k2,,knk_1, k_2, \dots, k_n을 공백 하나로 구분해 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, kik_i는 크기가 KK인 완벽한 덱에서 자리 did_i에 놓인 카드의 번호다. 콜론 뒤에도 공백을 하나만 둔다.