#include <bits/stdc++.h>
using namespace std;
const int N = 1000001;
int a[N] ;
int main() {
int t ;
scanf("%d" , &t) ;
while (t--) {
int n , k ;
scanf("%d%d" , &n , &k) ;
map<int , int>frq;
for(int i = 0 ; i<n ; ++i){
scanf("%d" , &a[i]) ;
frq[a[i]]++;
}
vector<pair<int , int>>p ;
int x, y;
scanf("%d%d" , &x , &y) ;
p.push_back(make_pair(x, y)) ;
for(int i = 1 ; i<k ; ++i) {
scanf("%d%d" , &x , &y) ;
if (x == p.back().first)
p.back().second+=y;
else
p.push_back(make_pair(x, y)) ;
}
map<int, int>mp ;
int j = 0 ;
for (int i = 0 ; i<n ; ++i) {
int x = p[j].first;
int y = p[j].second ;
mp[a[i]]++;
frq[a[i]]--;
if (j && a[i] == x && !mp[p[j-1].first] && frq[x] >= y)
mp[x]--;
if (mp[x] == y){
j++;
mp.clear();
}
if (j == p.size())
break ;
}
if (j == p.size() && !frq[p.back().first])
puts("yes");
else
puts("no") ;
}
return 0;
}
Copy