#include <bits/stdc++.h>
using namespace std;
int main() {
  long long t;
  cin >> t;
  while (t--) {
    long long n, m, k, p = 0;
    string s;
    cin >> n >> m >> k;
    long long a[n];
    for (long long i = 0; i < n; i++) cin >> a[i];
    for (long long i = 0; i < n - 1; i++) {
      if (a[i + 1] > a[i]) {
        if (a[i + 1] - a[i] <= k) {
          m += min(-a[i + 1] + a[i] + k, a[i]);
        } else {
          m -= a[i + 1] - a[i] - k;
          if (m < 0) {
            cout << "NO" << endl;
            p++;
            break;
          }
        }
      } else if (a[i + 1] <= a[i]) {
        m += -a[i + 1] + a[i] + min(a[i + 1], k);
      }
    }
    if (p == 0) cout << "YES" << endl;
  }
}
