#include <bits/stdc++.h>
using namespace std;
const long long sz = 1e6 + 10;
long long a[sz], cap[sz], n;
long long solve(long long bck) {
  bool house = 1;
  long long sum = bck, last = cap[n] - bck;
  for (long long i = 1; i <= n;) {
    if (house) {
      sum -= a[i];
      sum = min(sum, 0LL);
    } else {
      sum += cap[i];
      if (sum < 0) return -1;
      i++;
    }
    if (house && i == n) break;
    house ^= 1;
  }
  sum += last;
  if (sum < 0) return -2;
  return 1;
}
int main() {
  long long t;
  cin >> t;
  while (t--) {
    scanf("%lld", &n);
    for (long long i = 1; i <= n; ++i) scanf("%lld", &a[i]);
    for (long long i = 1; i <= n; ++i) scanf("%lld", &cap[i]);
    long long lo = 0, hi = min(a[1], cap[n]), ok = 0;
    while (lo <= hi) {
      long long mid = lo + hi >> 1;
      long long got = solve(mid);
      if (got == -1)
        lo = mid + 1;
      else if (got == -2)
        hi = mid - 1;
      else {
        ok = 1;
        break;
      }
    }
    if (ok)
      printf("YES\n");
    else
      printf("NO\n");
  }
  return 0;
}
