#include <bits/stdc++.h>
using namespace std;
bool findB(int x, int y, int b[], int m){
for(int i = 0; i < m; i++){
if(x == b[i] || y == b[i]) return true;
}
return false;
}
bool f(int n, int m, int x[], int y[]){
bool changed = true;
while(changed) {
changed = false;
for(int i = n - 2; i >= 0; i--){
if(x[i] > x[i+1]){
if(findB(x[i], x[i+1], y, m)){
swap(x[i], x[i+1]);
changed = true;
} else {
return false;
}
}
}
}
return true;
}
int main(){
int t; cin >> t;
while(t--){
int n, m; cin >> n >> m;
int a[n], b[m];
for (int i = 0; i < n; i++) cin >> a[i];
for (int i = 0; i < m; i++) cin >> b[i];
if(f(n, m, a, b)){
cout << "YES" << endl;
} else {
cout << "NO" << endl;
}
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpib29sIGZpbmRCKGludCB4LCBpbnQgeSwgaW50IGJbXSwgaW50IG0pewogICAgZm9yKGludCBpID0gMDsgaSA8IG07IGkrKyl7CiAgICAgICAgaWYoeCA9PSBiW2ldIHx8IHkgPT0gYltpXSkgcmV0dXJuIHRydWU7CiAgICB9CiAgICByZXR1cm4gZmFsc2U7Cn0KCmJvb2wgZihpbnQgbiwgaW50IG0sIGludCB4W10sIGludCB5W10pewogICAgYm9vbCBjaGFuZ2VkID0gdHJ1ZTsKICAgIHdoaWxlKGNoYW5nZWQpIHsKICAgICAgICBjaGFuZ2VkID0gZmFsc2U7CiAgICAgICAgZm9yKGludCBpID0gbiAtIDI7IGkgPj0gMDsgaS0tKXsKICAgICAgICAgICAgaWYoeFtpXSA+IHhbaSsxXSl7CiAgICAgICAgICAgICAgICBpZihmaW5kQih4W2ldLCB4W2krMV0sIHksIG0pKXsKICAgICAgICAgICAgICAgICAgICBzd2FwKHhbaV0sIHhbaSsxXSk7CiAgICAgICAgICAgICAgICAgICAgY2hhbmdlZCA9IHRydWU7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KICAgIHJldHVybiB0cnVlOwp9CgoKaW50IG1haW4oKXsKICAgIGludCB0OyBjaW4gPj4gdDsKICAgIHdoaWxlKHQtLSl7CiAgICAgICAgaW50IG4sIG07IGNpbiA+PiBuID4+IG07CiAgICAgICAgaW50IGFbbl0sIGJbbV07CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIGNpbiA+PiBhW2ldOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbTsgaSsrKSBjaW4gPj4gYltpXTsKICAgICAgICBpZihmKG4sIG0sIGEsIGIpKXsKICAgICAgICAgICAgY291dCA8PCAiWUVTIiA8PCBlbmRsOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgIGNvdXQgPDwgIk5PIiA8PCBlbmRsOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAwOwp9Cg==