주경이는 음악 듣는 것을 좋아하고, 음악을 들을 때 음악 플레이어의 셔플(shuffle) 기능을 사용한다. 플레이어는 재생 목록에 있는 곡들의 순열을 무작위로 하나 만들어 그 순서대로 모든 곡을 재생하고, 목록의 모든 곡을 다 재생하면 다시 새로운 순열(셔플)을 만들어 재생을 이어 간다.
주경이는 지금까지 재생된 곡들의 기록을 가지고 있다. 그런데 이 기록이 맨 처음 곡부터 완전하게 남아 있지는 않다는 것을 알게 되었다. 즉 기록은 재생이 시작된 뒤 어느 시점부터 또 다른 어느 시점까지 이어지는 연속된 구간이다.
재생 목록에 있는 곡의 수를 $s$라 하자. 기록은 길이가 $s$인 연속한 블록들로 나눌 수 있으며, 맨 앞 블록과 맨 뒤 블록만은 길이가 $s$보다 작을 수 있다(각각 어떤 셔플의 뒷부분과 앞부분에 해당한다). 하나의 블록은 한 번의 셔플로 만들어진 하나의 순열의 일부이므로, 같은 블록 안에서는 어떤 곡도 두 번 이상 나타나지 않아야 한다.
기록을 이렇게 블록으로 나누는 방법은 첫 번째 블록 경계의 위치, 즉 $0$부터 $s-1$까지의 값 하나로 결정된다. 모든 블록이 조건을 만족하도록 기록을 나눌 수 있는 방법의 수를 구하여라. 이 값이 곧 다음 셔플이 어떻게 이어질 수 있는지에 대한 경우의 수이다.
첫째 줄에 테스트케이스의 수 $T$가 주어진다. $T$는 $100$ 이하이다.
각 테스트케이스의 첫째 줄에는 두 정수 $s$와 $n$이 주어진다 ($1 \le s, n \le 100000$). $s$는 재생 목록에 있는 곡의 수이고, $n$은 지금까지 기록된 곡의 수이다.
둘째 줄에는 재생된 곡을 나타내는 $n$개의 정수 $x_1, x_2, \ldots, x_n$이 공백으로 구분되어 주어진다 ($1 \le x_i \le s$).
각 테스트케이스마다, 기록을 조건에 맞게 블록으로 나눌 수 있는 방법의 수(첫 번째 블록 경계로 가능한 위치의 개수)를 한 줄에 출력한다. 가능한 방법이 하나도 없으면 $0$을 출력한다.