#include <bits/stdc++.h>
using namespace std;
void solve() {
int n, m;
cin >> n >> m;
vector<int> a(n), b(m);
for (int i = 0; i < n; i++) cin >> a[i];
cin >> b[0];
bool strict_increasing = true;
for (int i = 0; i < n - 1; i++) {
if (a[i] > a[i + 1]) {
strict_increasing = false;
break;
}
}
if (strict_increasing) {
cout << "YES" << endl;
return;
}
bool strict_decreasing = true;
for (int i = 0; i < n - 1; i++) {
if (a[i] < a[i + 1]) {
strict_decreasing = false;
break;
}
}
if (strict_decreasing) {
cout << "YES" << endl;
return;
}
a[0] = min(a[0], b[0] - a[0]);
for (int i = 1; i < n; i++) {
if (a[i] < a[i - 1]) {
if (b[0] - a[i] < a[i - 1]) {
cout << "NO" << endl;
return;
} else {
a[i] = b[0] - a[i];
}
} else {
if (b[0] - a[i] >= a[i - 1]) {
a[i] = b[0] - a[i];
}
}
}
cout << "YES" << endl;
}
int main() {
int t;
cin >> t;
while (t--) solve();
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgp2b2lkIHNvbHZlKCkgewoJaW50IG4sIG07CgljaW4gPj4gbiA+PiBtOwoJdmVjdG9yPGludD4gYShuKSwgYihtKTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbjsgaSsrKSBjaW4gPj4gYVtpXTsKCWNpbiA+PiBiWzBdOwoJYm9vbCBzdHJpY3RfaW5jcmVhc2luZyA9IHRydWU7Cglmb3IgKGludCBpID0gMDsgaSA8IG4gLSAxOyBpKyspIHsKCQlpZiAoYVtpXSA+IGFbaSArIDFdKSB7CgkJCXN0cmljdF9pbmNyZWFzaW5nID0gZmFsc2U7CgkJCWJyZWFrOwoJCX0KCX0KCWlmIChzdHJpY3RfaW5jcmVhc2luZykgewoJCWNvdXQgPDwgIllFUyIgPDwgZW5kbDsKCQlyZXR1cm47Cgl9Cglib29sIHN0cmljdF9kZWNyZWFzaW5nID0gdHJ1ZTsKCWZvciAoaW50IGkgPSAwOyBpIDwgbiAtIDE7IGkrKykgewoJCWlmIChhW2ldIDwgYVtpICsgMV0pIHsKCQkJc3RyaWN0X2RlY3JlYXNpbmcgPSBmYWxzZTsKCQkJYnJlYWs7CgkJfQoJfQoJaWYgKHN0cmljdF9kZWNyZWFzaW5nKSB7CgkJY291dCA8PCAiWUVTIiA8PCBlbmRsOwoJCXJldHVybjsKCX0KCglhWzBdID0gbWluKGFbMF0sIGJbMF0gLSBhWzBdKTsKCQoJZm9yIChpbnQgaSA9IDE7IGkgPCBuOyBpKyspIHsKCQkKCQlpZiAoYVtpXSA8IGFbaSAtIDFdKSB7CgkJCWlmIChiWzBdIC0gYVtpXSA8IGFbaSAtIDFdKSB7CgkJCQljb3V0IDw8ICJOTyIgPDwgZW5kbDsKCQkJCXJldHVybjsKCQkJfSBlbHNlIHsKCQkJCWFbaV0gPSBiWzBdIC0gYVtpXTsKCQkJfQoJCX0gZWxzZSB7CgkJCWlmIChiWzBdIC0gYVtpXSA+PSBhW2kgLSAxXSkgewoJCQkJYVtpXSA9IGJbMF0gLSBhW2ldOwoJCQl9CgkJfQoJfQoJCgljb3V0IDw8ICJZRVMiIDw8IGVuZGw7Cn0KCmludCBtYWluKCkgewoJaW50IHQ7CgljaW4gPj4gdDsKCXdoaWxlICh0LS0pIHNvbHZlKCk7Cn0=