익스트림 에스컬레이터 포고 (작은 입력)

원형 에스컬레이터에서 파란 칸에서 시작해 점프 높이를 한 번에 최대 1씩 바꾸며 빨간 칸에 닿기 전까지 도달한 가장 큰 높이를 구합니다.

보통7그래프BFS완전 탐색아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

로빗 다우니 호퍼는 익스트림 에스컬레이터 포고라는 위험한 스포츠를 만든 사람이다. 정말로 위험하니 집에 에스컬레이터가 있어도 따라 하지 말자. 어디에서도 따라 하면 안 된다.

익스트림 에스컬레이터 포고에는 두 가지가 필요하다. 뛰어오를 때 쓰는 포고 스틱, 그리고 계단이 NN개 달려 일정한 속도로 올라가는 빠른 에스컬레이터다. 계단 중 일부는 파란색이고 나머지는 빨간색이다. 로빗은 포고 스틱을 짚은 채 에스컬레이터 중간의 파란 계단 하나에 뛰어올라 경기를 시작한다. 그다음부터는 계단이 발밑으로 흘러가는 동안 제자리에서 계속 위로 뛴다. 착지는 파란 계단에만 해야 한다. 빨간 계단을 밟는 순간 탈락하고, 도전자 리피 프로기슨이 다음 차례로 뛴다. 더 높이 올라간 쪽이 이긴다.

첫 파란 계단을 밟은 뒤 로빗의 첫 점프는 항상 높이가 1이고, 바로 다음 계단에 내려앉는다. (그 계단이 파란색이어야 한다.) 첫 점프를 제외한 모든 점프에서는 다음 세 가지 중 하나를 고른다.

  • 점프를 눌러서 높이를 1 줄인다,
  • 지금 점프와 같은 높이로 뛴다,
  • 점프를 키워서 높이를 1 늘린다.

높이가 HH인 점프는 계단 HH개가 로빗의 발밑을 지나가는 시간과 정확히 같다. 즉 ii번 계단에서 높이 HH로 뛰면 ii번 계단보다 HH칸 뒤에 있는 계단에 착지한다. 높이가 0인 점프는 할 수 없고, 높이의 상한은 없다. 계단은 끝없이 순환한다.

점프가 빨간 계단에서 끝나도 그 점프의 높이는 기록으로 인정된다. NN과 각 계단의 색이 주어질 때, 시작 계단과 점프 순서를 가장 좋게 골랐을 때 로빗이 도달할 수 있는 최대 높이를 구하라.

입력

첫째 줄에 테스트 케이스의 수 TT가 주어진다. 이어지는 TT개의 줄에는 정수 NN, 정수 KK, 그리고 파란 계단의 번호인 1 이상 NN 이하의 정수 KK개가 차례로 주어진다. 나머지 계단은 모두 빨간색이다. NN번 계단 다음 계단은 1번 계단이다.

제한

  • 1T1001 \le T \le 100
  • 3N103 \le N \le 10
  • 1KN1 \le K \le N
  • 파란 계단 KK개의 번호는 서로 다르고 증가하는 순서로 주어진다.

출력

각 테스트 케이스마다 Case #x: H 형식으로 한 줄씩 출력한다. xx는 1부터 시작하는 테스트 케이스 번호이고, HH는 로빗이 도달할 수 있는 최대 높이다. 높이에 상한이 없으면 HH 자리에 infinity를 출력한다.

힌트

첫 예제의 첫 케이스는 N=4N = 4이고 2번과 3번 계단이 파란색이다. 로빗은 2번 계단에서 시작해 높이 1로 3번 계단에 내려앉고, 높이를 2로 키워 3번 계단보다 두 칸 뒤인 빨간 1번 계단에 착지한다. 이렇게 얻는 최대 높이는 2다.

두 번째 케이스에서는 5번 계단에서 시작해 6번(높이 1), 8번(높이 2), 1번(높이 3), 5번(높이 4)을 차례로 밟고, 마지막에 높이 5로 뛰어 빨간 10번 계단에 착지하는 것이 가장 좋다.

세 번째 케이스는 N=3N = 3이고 1번과 2번 계단이 파란색이다. 로빗은 1번 계단에서 시작해 영원히 뛸 수 있으니, 원하는 높이는 무엇이든 만든다.