#include <bits/stdc++.h>
using namespace std;
void processTest(int n, int64_t m, int64_t k) {
  vector<int64_t> path(n);
  int64_t bag = m;
  for (auto &v : path) {
    cin >> v;
  }
  for (int i = 1; i < path.size(); ++i) {
    auto toEq = max(path[i] - k, int64_t(0));
    bag += path[i - 1] - toEq;
    if (bag < 0) {
      cout << "NO" << endl;
      return;
    }
  }
  cout << "YES" << endl;
}
int main() {
  int t;
  cin >> t;
  for (int i = 0; i < t; ++i) {
    int64_t n, m, k;
    cin >> n >> m >> k;
    processTest(n, m, k);
  }
  return 0;
}
