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