inlineintread(){ int x = 0, f = 1; char ch = getchar(); while(ch < '0' || ch > '9') { if(ch == '-') f = -1; ch = getchar(); } while(ch >= '0' && ch <= '9') { x = x * 10 + ch - 48; ch = getchar(); } return x * f; }
int cnt[7];
voidsolve(){ memset(cnt, 0, sizeof cnt); int n = read(), m = read(); for(int i = 0; i < n; i++){ char c; cin >> c; cnt[c - 'A'] ++; } int res = 0; for(int i = 0; i < 7; i++){ res += max(0, m - cnt[i]); } cout << res << '\n'; }
intmain(){ int t = read(); while(t--){ solve(); } return0; }
inlineintread(){ int x = 0, f = 1; char ch = getchar(); while (ch < '0' || ch > '9') { if (ch == '-') f = -1; ch = getchar(); } while (ch >= '0' && ch <= '9') { x = x * 10 + ch - 48; ch = getchar(); } return x * f; }
voidsolve(){ int n = read(); vector<int>a(n), b(n); for (auto& i : a) i = read(); for (auto& i : b) i = read(); int m = read(); vector<int>d(m); for (auto& i : d) i = read();
int ok = 1; if(find(b.begin(), b.end(), d[m - 1]) == b.end()) { ok = 0; } multiset<int> s(d.begin(), d.end()); for(int i = 0; i < n; i++){ if(a[i] != b[i]){ if(!s.count(b[i])){ ok = 0; } else{ s.extract(b[i]); } } } if(ok){ cout << "YES\n"; } else{ cout << "NO\n"; } }
intmain(){ int t = read(); while (t--) { solve(); } return0; }