#include <iostream>
#include <set>
#include <memory.h>
#include <stdio.h>
#define REP(i,n) for(int i=0;i<n;i++)
using namespace std;
int dp[50][50];
int main(){
//freopen("input.txt", "r", stdin);
int d;
cin>>d;
while(d--){
int n; cin>>n;
int k; cin>>k;
memset(dp,0,sizeof(dp));
set<int> s;
REP(i,k){
int x; cin>>x; s.insert(x);
}
for( int i=1;i<=2*n;i++){
for( int j=0;j<=i;j++){
if(i==1){
if(j==1)dp[i][j]=1;
else dp[i][j]=0;
}else{
if(s.find(i)!=s.end()){
dp[i][j] = ((j==0)?0:dp[i-1][j-1]);
}else{
dp[i][j] = dp[i-1][j+1] + ((j==0)?0:dp[i-1][j-1]);
}
}
}
}
cout<<dp[2*n][0]<<endl;
}
}
ICAgICNpbmNsdWRlIDxpb3N0cmVhbT4KICAgICNpbmNsdWRlIDxzZXQ+CiAgICAjaW5jbHVkZSA8bWVtb3J5Lmg+CiAgICAjaW5jbHVkZSA8c3RkaW8uaD4KICAgICAKICAgICNkZWZpbmUgUkVQKGksbikgZm9yKGludCBpPTA7aTxuO2krKykKICAgICAKICAgIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAgICBpbnQgZHBbNTBdWzUwXTsKICAgICAKICAgIGludCBtYWluKCl7CiAgICAgICAgLy9mcmVvcGVuKCJpbnB1dC50eHQiLCAiciIsIHN0ZGluKTsKICAgICAgICBpbnQgZDsKICAgICAgICBjaW4+PmQ7CiAgICAgICAgd2hpbGUoZC0tKXsKICAgICAgICAgICAgaW50IG47IGNpbj4+bjsKICAgICAgICAgICAgaW50IGs7IGNpbj4+azsKICAgICAgICAgICAgbWVtc2V0KGRwLDAsc2l6ZW9mKGRwKSk7CiAgICAgICAgICAgIHNldDxpbnQ+IHM7CiAgICAgICAgICAgIFJFUChpLGspewogICAgICAgICAgICAgICAgaW50IHg7IGNpbj4+eDsgcy5pbnNlcnQoeCk7CiAgICAgICAgICAgIH0gICAgCiAgICAgICAgICAgIGZvciggaW50IGk9MTtpPD0yKm47aSsrKXsKICAgICAgICAgICAgICAgIGZvciggaW50IGo9MDtqPD1pO2orKyl7CiAgICAgICAgICAgICAgICAgICAgaWYoaT09MSl7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmKGo9PTEpZHBbaV1bal09MTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZSBkcFtpXVtqXT0wOwogICAgICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgICAgICBpZihzLmZpbmQoaSkhPXMuZW5kKCkpewogICAgICAgICAgICAgICAgICAgICAgICAgICAgZHBbaV1bal0gPSAoKGo9PTApPzA6ZHBbaS0xXVtqLTFdKTsKICAgICAgICAgICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcFtpXVtqXSA9IGRwW2ktMV1baisxXSArICgoaj09MCk/MDpkcFtpLTFdW2otMV0pOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIGNvdXQ8PGRwWzIqbl1bMF08PGVuZGw7CiAgICAgICAgfQogICAgfQ==