#include <bits/stdc++.h>   using namespace std;   using ll = long long;   using ld = long double;   template <class T>   inline bool chmin(T& a, T b) {     if (a > b) {       a = b;       return true;     }     return false;   }   template <class T>   inline bool chmax(T& a, T b) {     if (a < b) {       a = b;       return true;     }     return false;   }   const int MOD = 1000000007;   const int INF = 1000000001;   const ll LINF = 1000000001000000001LL;   void solve();   int main() {     ios::sync_with_stdio(false);     cin.tie(nullptr);     cout << fixed << setprecision(numeric_limits<double>::max_digits10);     solve();     return 0;   }   void solve() {     int t;     cin >> t;     while (t--) {       int n, m;       cin >> n >> m;       vector<int> a(n);       for (int i = (0); i < ((n)); i++) cin >> a[i];       vector<int> b(n, false);       int p;       for (int i = (0); i < ((m)); i++) {         cin >> p;         p--;         b[p] = true;       }       bool ok = true;       for (int i = (0); i < ((n)); i++) {         for (int j = (i); j < (n); j++) {           if (!b[j]) {             for (int k = (j + 1); k < (n); k++) {               if (a[i] > a[k]) {                 ok = false;                 break;               }             }             if (!ok) break;           }         }         if (!ok) break;         for (int j = (i - 1); j < (0); j++) {           if (!b[j]) {             for (int k = (0); k < ((j + 1)); k++) {               if (a[i] < a[k]) {                 ok = false;                 break;               }             }             if (!ok) break;           }         }         if (!ok) break;       }       cout << (ok ?  YES  :  NO ) <<   n ;     }   }   