#include <bits/stdc++.h>
using namespace std;
long long a[1000];
int main() {
  int t;
  scanf("%d", &t);
  while (t--) {
    long long n, m, k;
    int flag = 0;
    scanf("%lld%lld%lld", &n, &m, &k);
    for (int i = 1; i <= n; i++) scanf("%lld", &a[i]);
    for (int i = 1; i <= n - 1; i++) {
      if (abs(a[i] - a[i + 1]) > k) {
        if (a[i] > a[i + 1]) {
          m += a[i] - a[i + 1];
          m += min(a[i + 1], k);
        } else {
          if (a[i + 1] - a[i] - k > m) {
            flag = 1;
            break;
            ;
          } else {
            m -= (a[i + 1] - a[i] - k);
          }
        }
      } else {
        if (a[i] > a[i + 1]) {
          m += a[i] - a[i + 1];
          m += min(a[i + 1], k);
        } else {
          if (a[i + 1] <= k)
            m += a[i];
          else {
            m += a[i] - (a[i + 1] - k);
          }
        }
      }
    }
    if (flag == 0)
      printf("YES\n");
    else
      printf("NO\n");
  }
  return 0;
}
