#include <bits/stdc++.h>
using namespace std;
const long long inf = 0x3f3f3f3f3f3f3f3f;
const long long N = 1000000;
long long n;
long long a[N + 1], b[N + 1];
long long Suma[N + 1], Sumb[N + 1];
void mian() {
  cin >> n;
  for (long long i = 1; i <= n; i++)
    scanf("%lld", a + i), Suma[i] = Suma[i - 1] + a[i];
  for (long long i = 1; i <= n; i++)
    scanf("%lld", b + i), Sumb[i] = Sumb[i - 1] + b[i];
  if (Sumb[n] - Suma[n] < 0) return puts("NO"), void();
  long long mn = inf;
  for (long long i = 1; i <= n; i++) {
    if (i > 1) mn = min(mn, -Sumb[i - 1] + Suma[i]);
    if (Sumb[i] - Suma[i] + mn < 0) return puts("NO"), void();
  }
  long long mx = 0;
  mn = inf;
  for (long long i = 2; i <= n; i++)
    mx = max(mx, Suma[n] - Suma[i] + a[1] - Sumb[n] + Sumb[i - 1]);
  for (long long i = 1; i <= n; i++) mn = min(mn, Sumb[i] - Suma[i] + a[1]);
  puts(mx <= mn ? "YES" : "NO");
}
signed main() {
  long long testnum;
  cin >> testnum;
  while (testnum--) mian();
  return 0;
}
