죄수 매수 (큰 입력)

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

문제

어느 왕국의 감옥에는 1번부터 PP번까지 번호가 붙은 감방이 일직선으로 늘어서 있다. ii번 감방과 i+1i+1번 감방은 서로 붙어 있고, 붙어 있는 두 감방의 죄수를 이웃이라고 부른다. 이웃한 감방을 가르는 벽에는 창문이 있어서 이웃끼리 말을 주고받는다.

죄수 한 명이 석방되기 전까지 감옥은 조용하다. 석방이 일어나면 석방된 죄수의 이웃이 그 사실을 알게 되고, 각자 반대쪽 이웃에게 소식을 전한다. 소식을 들은 죄수는 다시 자기 반대쪽 이웃에게 전하며, 이렇게 소식은 더 전할 이웃이 없는 죄수에게 닿을 때까지 퍼진다. 더 전할 이웃이 없는 경우는 그 죄수가 1번 감방이나 PP번 감방에 있을 때, 또는 반대쪽 감방이 비어 있을 때다. 다른 죄수가 석방됐다는 사실을 알게 된 죄수는 화가 나서 감방 안의 물건을 부순다. 금화를 한 닢 주면 부수지 않는다. 따라서 AA번 감방의 죄수를 석방하면 AA번 감방의 양쪽으로 1번 감방, PP번 감방, 또는 빈 감방에 닿을 때까지 있는 죄수를 모두 매수해야 한다.

처음에는 모든 감방에 죄수가 정확히 한 명씩 들어 있고, 하루에 한 명만 석방한다. QQ일 동안 석방할 죄수 QQ명의 감방 번호가 주어질 때, 석방 순서를 자유롭게 정해서 매수에 드는 금화의 최소 개수를 구하시오.

매수의 효과는 그날 하루만 간다. 어제 매수한 죄수가 오늘 또 다른 석방 소식을 들으면 다시 매수해야 한다.

입력

첫 줄에 테스트 케이스의 수 NN이 주어진다. 이어서 NN개의 테스트 케이스가 주어진다. 각 테스트 케이스는 두 줄이다. 첫 줄은

P Q

형식이며 PP는 감방의 수, QQ는 석방할 죄수의 수다. 둘째 줄에는 석방할 죄수가 있는 감방 번호 QQ개가 서로 다른 값으로 오름차순 정렬되어 공백으로 구분되어 주어진다.

제한

  • 1N1001 \le N \le 100
  • 1P100001 \le P \le 10000
  • 1Q1001 \le Q \le 100
  • QPQ \le P
  • 감방 번호는 1 이상 PP 이하다.

출력

각 테스트 케이스마다 다음 형식으로 한 줄씩 출력한다.

Case #X: C

XX는 1부터 시작하는 테스트 케이스 번호, CC는 매수에 필요한 금화의 최소 개수다.

힌트

P=20P = 20이고 석방할 감방이 3, 6, 14인 경우를 보자. 14번, 6번, 3번 순서로 석방하면 금화가 19 + 12 + 4 = 35닢 든다. 6번을 먼저 석방하면 19 + 4 + 13 = 36닢이 들어 더 비싸다.