#include <algorithm>
#include <iomanip>
#include <iostream>
#include <vector>
#include <set>
#include <numeric>
#include <map>
#include <unordered_map>
using namespace std;
#define all(a) a.begin(), a.end()
#define ll long long
#define fo(i,n) for (long long i = 0; i < n; i++)
#define fastIO ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int main()
{
fastIO
ll i,n,m,k,input;
cin >> i;
while (i--)
{
cin >> n >> m;
vector<ll> a(n);
bool cond = true;
fo(j,n)
{
cin >> input;
a[j] = input;
}
cin >> m;
for (int j = 0; j < n; j++)
{
if (j == 0)
{
if (m-a[j] < a[j])
{
a[j] = m-a[j];
}
}
else
{
if (m-a[j] <= a[j] && m-a[j] >= a[j-1])
{
a[j] = m-a[j];
}
else
{
if (a[j] < a[j-1])
{
a[j] = m-a[j];
}
}
if (a[j] < a[j-1])
{
cond = false;
break;
}
}
}
if (cond)
{
cout << "YES";
}
else
{
cout << "NO";
}
cout << '\n';
}
}
I2luY2x1ZGUgPGFsZ29yaXRobT4KI2luY2x1ZGUgPGlvbWFuaXA+CiNpbmNsdWRlIDxpb3N0cmVhbT4KI2luY2x1ZGUgPHZlY3Rvcj4KI2luY2x1ZGUgPHNldD4KI2luY2x1ZGUgPG51bWVyaWM+CiNpbmNsdWRlIDxtYXA+CiNpbmNsdWRlIDx1bm9yZGVyZWRfbWFwPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwojZGVmaW5lIGFsbChhKSBhLmJlZ2luKCksIGEuZW5kKCkKI2RlZmluZSBsbCBsb25nIGxvbmcKI2RlZmluZSBmbyhpLG4pIGZvciAobG9uZyBsb25nIGkgPSAwOyBpIDwgbjsgaSsrKQojZGVmaW5lIGZhc3RJTyBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKGZhbHNlKTsgY2luLnRpZSgwKTsgY291dC50aWUoMCk7CmludCBtYWluKCkKewogICAgZmFzdElPCiAgICBsbCBpLG4sbSxrLGlucHV0OwogICAgY2luID4+IGk7CiAgICB3aGlsZSAoaS0tKQogICAgewogICAgICAgIGNpbiA+PiBuID4+IG07CiAgICAgICAgdmVjdG9yPGxsPiBhKG4pOwogICAgICAgIGJvb2wgY29uZCA9IHRydWU7CiAgICAgICAgZm8oaixuKQogICAgICAgIHsKICAgICAgICAgICAgY2luID4+IGlucHV0OwogICAgICAgICAgICBhW2pdID0gaW5wdXQ7CiAgICAgICAgfQogICAgICAgIGNpbiA+PiBtOwogICAgICAgIGZvciAoaW50IGogPSAwOyBqIDwgbjsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgaWYgKGogPT0gMCkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgaWYgKG0tYVtqXSA8IGFbal0pCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgYVtqXSA9IG0tYVtqXTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBlbHNlCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmIChtLWFbal0gPD0gYVtqXSAmJiBtLWFbal0gPj0gYVtqLTFdKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGFbal0gPSBtLWFbal07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaWYgKGFbal0gPCBhW2otMV0pCiAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICBhW2pdID0gbS1hW2pdOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGlmIChhW2pdIDwgYVtqLTFdKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGNvbmQgPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZiAoY29uZCkKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgIllFUyI7CiAgICAgICAgfQogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIGNvdXQgPDwgIk5PIjsKICAgICAgICB9CiAgICAgICAgY291dCA8PCAnXG4nOwogICAgfQp9