#include<bits/stdc++.h>
typedef long int ll;
using namespace std;

ll mod = 1e9 + 7;

ll helper(ll val, ll j, ll finale, ll open, vector<ll> & arr, ll dp[][400])
    {
    if(open < 0)
        return 0;
    if(val > finale)
        {
        if(open == 0)
            return 1ll;
        else
            return 0ll;
        }
    //else
    if(dp[val][open] != -1)
        return dp[val][open];
    //else
    if(arr[j] == val)
        return dp[val][open] = helper(val + 1, j + 1, finale, open + 1, arr, dp)%mod;
    else 
        {
        ll one,two;
        one = two = 0;
        if(open > 0)
            one = helper(val + 1, j, finale, open - 1, arr, dp);
        two = helper(val + 1, j, finale, open + 1, arr, dp);
        return dp[val][open] = (one%mod + two%mod)%mod;
        }
    }

int main()
{
ll t; cin >> t;
while(t--)
    {
    ll n,k; cin >> n >> k;
    vector<ll> arr;
    ll dp[400][400];
    memset(dp, -1, sizeof(dp));
    if(k == 0)
        {
        arr.push_back(-1);
        cout << helper(1, 0, 2*n, 0, arr, dp) << endl;
        continue;
        }
    for(ll i = 0 ; i<k ; i++)
        {
        ll t; cin >> t;
        arr.push_back(t);
        }
    cout << helper(1, 0, 2*n, 0, arr, dp) << endl;
    }
}