#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
#define inf 1000000000000000LL
#define mod 1000000007LL
#define FOR(i,a,b) for(int i = a; i < b; i++)

void solve() {
    ll n,k;
    cin >> n >> k;
    vector <ll> l1(n);
    ll cnt = 0;
    FOR(i,0,n){
        cin >> l1[i];
        cnt += (i >= 1 ? l1[i] != l1[i-1] : 0);
    }
    deque <ll> spec;
    vector <bool> good(n, false);
    for (int i = 0; i < k; i++){
        ll a;
        cin >> a;
        spec.push_back(a-1);
        good[a-1] = true;
    }
    ll x = l1[spec[0]];
    cnt += (l1[0] != x) + (l1[n-1] != x);

    ll v = (l1[0] != x);
    ll max_val = v;
    for (int i = 0; i < n; i++){
        if (good[i]) v = 0;
        if (i < n-1){
            v += l1[i] != l1[i+1];
            max_val = max(max_val, v);
        }
    }
    v += l1[n-1] != x;
    max_val = max(max_val, v);

    cout << max(cnt / 2, max_val) << "\n";
}

int main() {
    // ios::sync_with_stdio(false);
    // cin.tie(nullptr);

    ll t = 1;
    cin >> t;
    while (t--) {
        solve();
    }

    return 0;
}