#include <bits/stdc++.h>
using namespace std;
#define int long long
#define N 600005
int tc = 1, n, m, a[N], b[N], vis[N], c[N], k[N];
priority_queue <pair<int,int>> s;
int32_t main() {
ios::sync_with_stdio(0);cin.tie(0);
cin >> tc;
while(tc--) {
cin >> n >> m;
for(int i = 1; i <= n; i++) {
cin >> a[i];
}
for(int i = 1; i <= n; i++) {
cin >> b[i];
}
int ans = 0;
bool tr = 0;
priority_queue <int> q, s;
for(int i = n; i >= 1; i--) {
q.push(a[i]);
while(b[i] > 0 && (!q.empty() || !s.empty())) {
while(!s.empty() && b[i] > 0) {
int t = s.top();
int pot = min(b[i],t);
s.pop();
b[i] -= pot;
t -= pot;
if(t) s.push(t);
}
if(s.empty() && b[i]) {
while(!q.empty() && b[i] > 0) {
ans++;
int t = q.top();
int pot = min(b[i],t);
q.pop();
b[i] -= pot;
t -= pot;
if(t) s.push(t);
}
}
}
if(b[i]) {
ans = -1;
break;
}
}
cout << ans << '\n';
}
return 0;
}
ICAgICNpbmNsdWRlIDxiaXRzL3N0ZGMrKy5oPgogICAgdXNpbmcgbmFtZXNwYWNlIHN0ZDsKICAgICAKICAgICNkZWZpbmUgaW50IGxvbmcgbG9uZwogICAgI2RlZmluZSBOIDYwMDAwNQogICAgIAogICAgaW50IHRjID0gMSwgbiwgbSwgYVtOXSwgYltOXSwgdmlzW05dLCBjW05dLCBrW05dOwogICAgcHJpb3JpdHlfcXVldWUgPHBhaXI8aW50LGludD4+IHM7CiAgICAgCiAgICBpbnQzMl90IG1haW4oKSB7CiAgICAgICAgaW9zOjpzeW5jX3dpdGhfc3RkaW8oMCk7Y2luLnRpZSgwKTsKICAgICAKICAgICAgICBjaW4gPj4gdGM7CiAgICAgICAgd2hpbGUodGMtLSkgewogICAgICAgICAgICBjaW4gPj4gbiA+PiBtOwogICAgICAgICAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykgewogICAgICAgICAgICAgICAgY2luID4+IGFbaV07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZm9yKGludCBpID0gMTsgaSA8PSBuOyBpKyspIHsKICAgICAgICAgICAgICAgIGNpbiA+PiBiW2ldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGludCBhbnMgPSAwOwogICAgICAgICAgICBib29sIHRyID0gMDsKICAgICAgICAgICAgcHJpb3JpdHlfcXVldWUgPGludD4gcSwgczsKICAgICAgICAgICAgZm9yKGludCBpID0gbjsgaSA+PSAxOyBpLS0pIHsKICAgICAgICAgICAgICAgIHEucHVzaChhW2ldKTsKICAgICAgICAgICAgICAgIHdoaWxlKGJbaV0gPiAwICYmICghcS5lbXB0eSgpIHx8ICFzLmVtcHR5KCkpKSB7CiAgICAgICAgICAgICAgICAgICAgd2hpbGUoIXMuZW1wdHkoKSAmJiBiW2ldID4gMCkgewogICAgICAgICAgICAgICAgICAgICAgICBpbnQgdCA9IHMudG9wKCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGludCBwb3QgPSBtaW4oYltpXSx0KTsKICAgICAgICAgICAgICAgICAgICAgICAgcy5wb3AoKTsKICAgICAgICAgICAgICAgICAgICAgICAgYltpXSAtPSBwb3Q7CiAgICAgICAgICAgICAgICAgICAgICAgIHQgLT0gcG90OwogICAgICAgICAgICAgICAgICAgICAgICBpZih0KSBzLnB1c2godCk7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIGlmKHMuZW1wdHkoKSAmJiBiW2ldKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIHdoaWxlKCFxLmVtcHR5KCkgJiYgYltpXSA+IDApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFucysrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHQgPSBxLnRvcCgpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBvdCA9IG1pbihiW2ldLHQpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgcS5wb3AoKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJbaV0gLT0gcG90OwogICAgICAgICAgICAgICAgICAgICAgICAgICAgdCAtPSBwb3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZih0KSBzLnB1c2godCk7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBpZihiW2ldKSB7CiAgICAgICAgICAgICAgICAgICAgYW5zID0gLTE7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgY291dCA8PCBhbnMgPDwgJ1xuJzsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDA7CiAgICB9