#include <bits/stdc++.h>
using namespace std;
long long int hs[110];
int main() {
  long long int test;
  scanf("%lld", &test);
  for (long long int _z = 0; _z < test; _z++) {
    long long int n, m, k;
    scanf("%lld %lld %lld", &n, &m, &k);
    for (long long int i = 0; i < n; i++) {
      scanf("%lld", hs + i);
    }
    bool pos = true;
    for (long long int i = 0; i < n - 1; i++) {
      long long int diff = hs[i] - hs[i + 1];
      if (diff < 0) {
        diff = -diff;
        if (diff > k) {
          if (m >= diff - k) {
            m -= diff - k;
          } else {
            pos = false;
            break;
          }
        } else {
          m += min((k - diff), hs[i]);
        }
      } else {
        m += hs[i] - max(hs[i + 1] - k, 0LL);
      }
    }
    if (!pos) {
      printf("NO\n");
    } else {
      printf("YES\n");
    }
  }
}
