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