#include <bits/stdc++.h>
int main() {
  int num_of_tests;
  scanf("%d\n", &num_of_tests);
  for (int i = 0; i < num_of_tests; i++) {
    int n, m, k;
    int no = 0;
    scanf("%d %d %d\n", &n, &m, &k);
    int current, next;
    scanf("%d", &current);
    for (int j = 1; j < n; j++) {
      scanf(" %d", &next);
      if (current >= next - k) {
        m += current - next;
        m = next < k ? m + next : m + k;
      } else {
        if (next - current - m > k) {
          puts("NO");
          no = 1;
          break;
        } else {
          m = m - (next - current - k);
        }
      }
      current = next;
    }
    if (!no) puts("YES");
    char ch;
    do {
      ch = getchar();
    } while (ch != '\n' && ch != EOF);
  }
  return 0;
}
