#include <bits/stdc++.h>
using namespace std;
bool push(vector<int> &c, vector<int> &d, int f, int t, int x = -1) {
  if (x == -1) x = d[f];
  x = min(x, d[f]);
  if (c[t] <= x) {
    d[f] -= c[t];
    c[t] = 0;
    return true;
  }
  c[t] -= x;
  d[f] -= x;
  return false;
}
void solve() {
  int n;
  cin >> n;
  vector<int> a(n), b(n);
  for (int i = 0; i < n; i++) cin >> a[i];
  for (int i = 0; i < n; i++) cin >> b[i];
  vector<int> c = a, d = b;
  push(c, d, 0, 1);
  int i = 1;
  for (; i < n; i++) {
    if (!push(c, d, i, i)) break;
    push(c, d, i, (i + 1 == n ? 0 : i + 1));
  }
  if (i < n) {
    cout << "NO\n";
    return;
  }
  int p = c[0];
  c = a, d = b;
  push(c, d, 0, 0, p);
  push(c, d, 0, 1);
  i = 1;
  for (; i < n; i++) {
    if (!push(c, d, i, i)) break;
    push(c, d, i, (i + 1 == n ? 0 : i + 1));
  }
  if (c[0] > 0 || i < n) {
    cout << "NO\n";
    return;
  }
  cout << "YES\n";
}
int main() {
  ios_base::sync_with_stdio(false);
  cout << setprecision(12);
  cin.tie(0);
  cout.tie(0);
  int t;
  cin >> t;
  while (t--) solve();
  return 0;
}
