#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int Mod=998244353;
void solve() {
int n,k;
cin >> n >> k;
vector<int> a(n),b(n);
bool ok =false;
for(int i=0;i<n;i++) cin >> a[i];
for(int i=0;i<n;i++){
cin >> b[i];
if(b[i]!=-1) ok=true;
}
if(!ok){
int ma=*max_element(a.begin(),a.end());
int mi=*min_element(a.begin(),a.end());
int s=ma-mi;
cout << k-s+1 << '\n';
return;
}
vector<int> need;
int target=-1;
for(int i=0;i<n;i++){
if(target!=-1 && b[i]!=-1 && a[i]+b[i]!=target){
cout << "0\n";
return;
}
if(b[i]!=-1) target=a[i]+b[i];
}
for(int i=0;i<n;i++){
if(b[i]==-1){
need.push_back(target-a[i]);
}
}
sort(need.begin(),need.end());
for(int i=0;i<need.size();i++){
if(need[i]<0 || need[i]>k){
cout << "0\n";
return;
}
}
cout << "1\n";
}
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
int t;
cin >> t;
while (t--) solve();
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnR5cGVkZWYgbG9uZyBsb25nIGxsOwpjb25zdCBpbnQgTW9kPTk5ODI0NDM1MzsKCnZvaWQgc29sdmUoKSB7CiAgICAgICBpbnQgbixrOwogICAgICAgY2luID4+IG4gPj4gazsKICAgICAgIHZlY3RvcjxpbnQ+IGEobiksYihuKTsKICAgICAgIGJvb2wgb2sgPWZhbHNlOwogICAgICAgZm9yKGludCBpPTA7aTxuO2krKykgY2luID4+IGFbaV07CiAgICAgICBmb3IoaW50IGk9MDtpPG47aSsrKXsKICAgICAgICBjaW4gPj4gYltpXTsKICAgICAgICBpZihiW2ldIT0tMSkgb2s9dHJ1ZTsKICAgICAgIH0KICAgICAgIGlmKCFvayl7CiAgICAgICAgaW50IG1hPSptYXhfZWxlbWVudChhLmJlZ2luKCksYS5lbmQoKSk7CiAgICAgICAgaW50IG1pPSptaW5fZWxlbWVudChhLmJlZ2luKCksYS5lbmQoKSk7CiAgICAgICAgaW50IHM9bWEtbWk7CiAgICAgICAgY291dCA8PCBrLXMrMSA8PCAnXG4nOwogICAgICAgIHJldHVybjsKICAgICAgIH0gCiAgICAgICB2ZWN0b3I8aW50PiBuZWVkOwogICAgICAgaW50IHRhcmdldD0tMTsKICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIGlmKHRhcmdldCE9LTEgJiYgYltpXSE9LTEgJiYgYVtpXStiW2ldIT10YXJnZXQpewogICAgICAgICAgICBjb3V0IDw8ICIwXG4iOwogICAgICAgICAgICByZXR1cm47IAogICAgICAgIH0KICAgICAgICBpZihiW2ldIT0tMSkgdGFyZ2V0PWFbaV0rYltpXTsKICAgICAgIH0KICAgICAgIGZvcihpbnQgaT0wO2k8bjtpKyspewogICAgICAgIGlmKGJbaV09PS0xKXsKICAgICAgICAgICAgbmVlZC5wdXNoX2JhY2sodGFyZ2V0LWFbaV0pOwogICAgICAgIH0KICAgICAgIH0KICAgICAgIHNvcnQobmVlZC5iZWdpbigpLG5lZWQuZW5kKCkpOwogICAgICAgZm9yKGludCBpPTA7aTxuZWVkLnNpemUoKTtpKyspewogICAgICAgIGlmKG5lZWRbaV08MCB8fCBuZWVkW2ldPmspewogICAgICAgICAgICBjb3V0IDw8ICIwXG4iOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgfQogICAgICAgY291dCA8PCAiMVxuIjsKfQoKaW50IG1haW4oKXsgCiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7CiAgICBjaW4udGllKG51bGxwdHIpOwoJCiAgICBpbnQgdDsKICAgIGNpbiA+PiB0OwogICAgd2hpbGUgKHQtLSkgc29sdmUoKTsKICAgIAoKICAgIHJldHVybiAwOwp9Cg==
NwozIDEwCjEgMyAyCi0xIC0xIDEKNSAxCjAgMSAwIDAgMQotMSAwIDEgMCAtMQo1IDEKMCAxIDAgMCAxCi0xIDEgLTEgMSAtMQo1IDEwCjEgMyAyIDUgNAotMSAtMSAtMSAtMSAtMQo1IDQKMSAzIDIgMSAzCjEgLTEgLTEgMSAtMQo1IDQKMSAzIDIgMSAzCjIgLTEgLTEgMiAwCjUgNQo1IDAgNSA0IDMKNSAtMSAtMSAtMSAtMQo=
7
3 10
1 3 2
-1 -1 1
5 1
0 1 0 0 1
-1 0 1 0 -1
5 1
0 1 0 0 1
-1 1 -1 1 -1
5 10
1 3 2 5 4
-1 -1 -1 -1 -1
5 4
1 3 2 1 3
1 -1 -1 1 -1
5 4
1 3 2 1 3
2 -1 -1 2 0
5 5
5 0 5 4 3
5 -1 -1 -1 -1