구내식당에서는 모두 M 가지 음식을 만들 수 있고, 각 음식에는 1번부터 M번까지 번호가 붙어 있다.
직원은 끼니마다 구내식당이 그때 내놓은 N 가지 음식 중 하나를 골라 먹는다. 구내식당이 끼니마다 내놓는 음식은 다음 규칙으로 정해진다.
지난 끼니에 K번 음식을 내놓았다면 이번 끼니에는 K+1번 음식을 내놓는다. 지난 끼니에 M번 음식을 내놓았다면 이번 끼니에는 1번 음식을 내놓는다.
즉 끼니가 한 번 지날 때마다 내놓는 음식의 번호가 모두 1씩 밀리고, M번 다음은 다시 1번이 된다. 끼니는 끝없이 이어지므로 이번 끼니의 조합을 계속 밀어서 얻을 수 있는 조합은 언젠가 모두 나온다.
새로 입사한 영희는 구내식당이 내놓는 음식 조합이 몇 가지인지 궁금해졌다. 이번 끼니에 나온 음식의 번호를 알려줄 테니, 서로 다른 음식 조합이 몇 가지인지 세어 보자. 음식 번호의 집합이 같으면 같은 조합으로 본다.
첫 줄에 테스트 케이스의 개수 T가 주어진다. (1≤T≤20)
각 테스트 케이스의 첫 줄에 구내식당이 만들 수 있는 음식의 가짓수 M과 한 끼니에 나오는 음식의 가짓수 N이 주어진다. (1≤N≤M≤106)
다음 N개의 줄에는 이번 끼니에 나온 음식의 번호 xi가 한 줄에 하나씩 주어진다. (1≤xi≤M) 번호는 모두 다르고 오름차순으로 정렬되어 있다.
모든 테스트 케이스의 M을 더한 값은 106을 넘지 않는다.
각 테스트 케이스마다 서로 다른 음식 조합의 가짓수를 한 줄에 하나씩 출력한다.