#include using namespace std; #define FAST_IO (ios_base:: sync_with_stdio(false),cin.tie(NULL)); #define int long long #define ll long long #define ull unsigned long long #define endl '\n' #define ff first #define ss second #define pb push_back #define all(x) x.begin(), x.end() #define sz(x) (int)(x).size() #define yes cout<<"YES"<>= 1; } return ans; } bool isPrime(ll n) { if(n <= 1) return false; for(ll i = 2; i*i <= n; i++) if(n % i == 0) return false; return true; } #ifndef ONLINE_JUDGE #define dbg(x) cerr << #x <<" "; _print(x); cerr << endl; #define dbgin(x) cerr << #x <<" "; _print(x); cerr << ";"< void _print(pair p); template void _print(vector v);template void _print(set v); template void _print(map v);template void _print(multiset v); template void _print(pair p) {cerr << "{"; _print(p.first); cerr << ","; _print(p.second); cerr << "}";} template void _print(vector v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template void _print(set v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template void _print(multiset v) {cerr << "[ "; for (T i : v) {_print(i); cerr << " ";} cerr << "]";} template void _print(unordered_set v) {cerr<<"[ "; for(T i : v) {_print(i); cerr<<" ";} cerr<<"]";} template void _print(map v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} template void _print(multimap v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} template void _print(unordered_map v) {cerr << "[ "; for (auto i : v) {_print(i); cerr << " ";} cerr << "]";} ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// void solve() { int n,f,a,b; cin>>n>>f>>a>>b; vectorv(n); for(auto &i:v) cin>>i; v.insert(v.begin(),0); for(int i=1; i<=n; ++i) { int x=(v[i]-v[i-1])*a; f -= min(x,b); if(f<=0) { no; return; } } yes; } int32_t main() { FAST_IO; int TC = 1; cin >> TC; while (TC--) solve(); }