#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 100;
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int tc;
  cin >> tc;
  while (tc--) {
    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];
    long long d = 0;
    for (int i = 0; i < n; i++) d += a[i];
    for (int i = 0; i < n; i++) d -= b[i];
    if (d > 0) {
      cout << "NO" << endl;
      continue;
    }
    vector<long long> vv;
    vv.push_back(b[n - 1]);
    for (int i = 0; i < n; i++) {
      vv.push_back(a[i]);
      vv.push_back(b[i]);
    }
    for (int i = 0; i < n; i++) {
      vv.push_back(a[i]);
      vv.push_back(b[i]);
    }
    long long cum = vv[0], mx = -1e9;
    bool bad = false;
    for (int i = 1; i < vv.size(); i++) {
      if (i & 1)
        cum -= vv[i];
      else
        cum += vv[i];
      if (i % 2 == 0) {
        if (cum - mx < 0) {
          bad = true;
          break;
        }
      } else
        mx = max(mx, cum);
    }
    if (bad)
      cout << "NO" << endl;
    else
      cout << "YES" << endl;
  }
  return 0;
}
