#include <bits/stdc++.h>
using namespace std;
#define ll long long int
#define endl '\n'
#define Yes cout << "YES" << endl
#define No cout << "NO" << endl
bool cmp (pair <int, int> a, pair <int, int> b) {
if(a.second == b.second)
return a.first < b.first;
return a.second > b.second;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int T; cin >> T;
while(T--)
{
int N, M; cin >> N >> M;
vector <int> v(N);
vector < pair <int, int> > monster(M);
for (int i = 0; i < N; i++) cin >> v[i];
for (int i = 0; i < M; i++) cin >> monster[i].first; // b[i]
for (int i = 0; i < M; i++) cin >> monster[i].second; // c[i]
sort (v.begin(), v.end());
sort (monster.begin(), monster.end());
/*
Idea -> Finding the largest damaging sword among N swords and avilable c[i] swords
If c[i] > 0, the new sword will be x = max (x, c[i]) so x will not be decreased,
so I am updating v[j] if it is greater than c[i].
I am assuming the order of killing monsters will not matter as,
I am looking for the best sword which can be reused multiple time.
*/
int i = 0, j = 0;
while (i < M && j < N)
{
if (v[j] >= monster[i].first) {
v[j] = max (v[j], monster[i].second); // new sword x
i++;
}
else j++;
}
sort (v.begin(), v.end());
sort (monster.begin(), monster.end(), cmp);
// sorting c[i] in descending order and if c[i] == c[i+1] than sorting it by b[i] < b[i+1]
// Stage 1 -> counting how many b[i] <= largest sword (v[N-1]) and c[i] != 0
int ans = 0; i = 0;
while (i < M && monster[i].second > 0)
{
if(v[N-1] >= monster[i].first)
ans++;
i++;
}
// Stage 2 -> counting how many swords can be used for eleminating the remaining mosnters where c[i] == 0
j = 0;
while (i < M && j < N)
{
if (v[j] >= monster[i].first) {
ans++;
i++;
}
j++;
}
cout << ans << endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgojZGVmaW5lIGxsIGxvbmcgbG9uZyBpbnQKI2RlZmluZSBlbmRsICdcbicKI2RlZmluZSBZZXMgY291dCA8PCAiWUVTIiA8PCBlbmRsCiNkZWZpbmUgTm8gY291dCA8PCAiTk8iIDw8IGVuZGwKCmJvb2wgY21wIChwYWlyIDxpbnQsIGludD4gYSwgcGFpciA8aW50LCBpbnQ+IGIpIHsKICAgIGlmKGEuc2Vjb25kID09IGIuc2Vjb25kKQogICAgICAgIHJldHVybiBhLmZpcnN0IDwgYi5maXJzdDsKICAgIHJldHVybiBhLnNlY29uZCA+IGIuc2Vjb25kOwp9CgppbnQgbWFpbigpCnsKICAgIGlvczo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsKICAgIGNpbi50aWUobnVsbHB0cik7CiAgICBjb3V0LnRpZShudWxscHRyKTsKCiAgICBpbnQgVDsgY2luID4+IFQ7CiAgICB3aGlsZShULS0pCiAgICB7CiAgICAgICAgaW50IE4sIE07IGNpbiA+PiBOID4+IE07CiAgICAgICAgdmVjdG9yIDxpbnQ+IHYoTik7CiAgICAgICAgdmVjdG9yIDwgcGFpciA8aW50LCBpbnQ+ID4gbW9uc3RlcihNKTsKICAgICAgICAKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IE47IGkrKykgY2luID4+IHZbaV07CiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNOyBpKyspIGNpbiA+PiBtb25zdGVyW2ldLmZpcnN0OyAvLyBiW2ldCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNOyBpKyspIGNpbiA+PiBtb25zdGVyW2ldLnNlY29uZDsgLy8gY1tpXQoKICAgICAgICBzb3J0ICh2LmJlZ2luKCksIHYuZW5kKCkpOwogICAgICAgIHNvcnQgKG1vbnN0ZXIuYmVnaW4oKSwgbW9uc3Rlci5lbmQoKSk7IAoKCQkvKgogICAgICAgIElkZWEgLT4gRmluZGluZyB0aGUgbGFyZ2VzdCBkYW1hZ2luZyBzd29yZCBhbW9uZyBOIHN3b3JkcyBhbmQgYXZpbGFibGUgY1tpXSBzd29yZHMKICAgICAgICAKICAgICAgICBJZiBjW2ldID4gMCwgdGhlIG5ldyBzd29yZCB3aWxsIGJlIHggPSBtYXggKHgsIGNbaV0pIHNvIHggd2lsbCBub3QgYmUgZGVjcmVhc2VkLCAKICAgICAgICBzbyBJIGFtIHVwZGF0aW5nIHZbal0gaWYgaXQgaXMgZ3JlYXRlciB0aGFuIGNbaV0uIAogICAgICAgIEkgYW0gYXNzdW1pbmcgdGhlIG9yZGVyIG9mIGtpbGxpbmcgbW9uc3RlcnMgd2lsbCBub3QgbWF0dGVyIGFzLAogICAgICAgIEkgYW0gbG9va2luZyBmb3IgdGhlIGJlc3Qgc3dvcmQgd2hpY2ggY2FuIGJlIHJldXNlZCBtdWx0aXBsZSB0aW1lLgogICAgICAgICovCiAgICAgICAgaW50IGkgPSAwLCBqID0gMDsKICAgICAgICB3aGlsZSAoaSA8IE0gJiYgaiA8IE4pIAogICAgICAgIHsKICAgICAgICAgICAgaWYgKHZbal0gPj0gbW9uc3RlcltpXS5maXJzdCkgewogICAgICAgICAgICAgICAgdltqXSA9IG1heCAodltqXSwgIG1vbnN0ZXJbaV0uc2Vjb25kKTsgLy8gbmV3IHN3b3JkIHgKICAgICAgICAgICAgICAgIGkrKzsKICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlIGorKzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgc29ydCAodi5iZWdpbigpLCB2LmVuZCgpKTsKICAgICAgICBzb3J0IChtb25zdGVyLmJlZ2luKCksIG1vbnN0ZXIuZW5kKCksIGNtcCk7IAogICAgICAgIC8vIHNvcnRpbmcgY1tpXSBpbiBkZXNjZW5kaW5nIG9yZGVyIGFuZCBpZiBjW2ldID09IGNbaSsxXSB0aGFuIHNvcnRpbmcgaXQgYnkgYltpXSA8IGJbaSsxXQoKICAgICAgICAvLyBTdGFnZSAxIC0+IGNvdW50aW5nIGhvdyBtYW55IGJbaV0gPD0gbGFyZ2VzdCBzd29yZCAodltOLTFdKSBhbmQgY1tpXSAhPSAwCiAgICAgICAgaW50IGFucyA9IDA7IGkgPSAwOwogICAgICAgIHdoaWxlIChpIDwgTSAmJiBtb25zdGVyW2ldLnNlY29uZCA+IDApIAogICAgICAgIHsKICAgICAgICAgICAgaWYodltOLTFdID49IG1vbnN0ZXJbaV0uZmlyc3QpCiAgICAgICAgICAgICAgICBhbnMrKzsKICAgICAgICAgICAgaSsrOwogICAgICAgIH0KCiAgICAgICAgLy8gU3RhZ2UgMiAtPiBjb3VudGluZyBob3cgbWFueSBzd29yZHMgY2FuIGJlIHVzZWQgZm9yIGVsZW1pbmF0aW5nIHRoZSByZW1haW5pbmcgbW9zbnRlcnMgd2hlcmUgY1tpXSA9PSAwCiAgICAgICAgaiA9IDA7CiAgICAgICAgd2hpbGUgKGkgPCBNICYmIGogPCBOKSAKICAgICAgICB7CiAgICAgICAgICAgIGlmICh2W2pdID49IG1vbnN0ZXJbaV0uZmlyc3QpIHsKICAgICAgICAgICAgICAgIGFucysrOwogICAgICAgICAgICAgICAgaSsrOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGorKzsKICAgICAgICB9CiAgICAgICAgCiAgICAgICAgY291dCA8PCBhbnMgPDwgZW5kbDsKICAgIH0KCiAgICByZXR1cm4gMDsKfQ==