#include <bits/stdc++.h>
using namespace std;
int main() {
  int n, t, m, k;
  cin >> t;
  for (int j = 1; j <= t; j++) {
    cin >> n;
    cin >> m;
    cin >> k;
    int T[n + 1];
    int flag = 0, diff, target;
    for (int i = 1; i <= n; i++) {
      cin >> T[i];
    }
    for (int i = 2; i <= n; i++) {
      if (T[i] >= T[i - 1]) {
        diff = T[i] - T[i - 1];
        target = T[i] - k;
        if (target < 0) target = 0;
        m -= target - T[i - 1];
        if (m < 0) {
          flag = 1;
          break;
        }
      }
      if (T[i] < T[i - 1]) {
        target = T[i] - k;
        if (target < 0) target = 0;
        m -= -T[i - 1] + target;
        if (m < 0) {
          flag = 1;
          break;
        }
      }
      T[i - 1] = target;
    }
    if (flag == 0)
      cout << "YES" << endl;
    else
      cout << "NO" << endl;
  }
}
