#include <bits/stdc++.h>
using namespace std;
const int N = 1000 * 1000 + 10;
long long a[N], b[N], d[N], n, mn[N];
int main() {
  ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);
  int Q;
  cin >> Q;
  while (Q--) {
    cin >> n;
    for (int i = 1; i <= n; i++) cin >> a[i];
    for (int i = 1; i <= n; i++) cin >> b[i], d[i] = b[i] - a[i];
    mn[0] = 0;
    long long sum = 0;
    for (int i = 1; i <= n; i++) {
      sum += d[i];
      mn[i] = min(mn[i - 1], sum);
    }
    bool res = true;
    if (sum < 0) res = false;
    sum = 0;
    for (int i = n; i >= 2; i--) {
      sum += d[i];
      long long t = sum + mn[i - 2];
      if (t + b[i - 1] < 0) res = false;
    }
    sum = 0;
    for (int i = 1; i < n; i++) {
      sum += b[i] - a[i];
      if (sum + b[n] < 0) res = false;
    }
    long long suf = 0;
    for (int i = n; i >= 2; i--) {
      suf = min(suf + d[i], 0LL);
      if (suf + b[i - 1] < 0) res = false;
    }
    cout << (res ? "YES" : "NO") << '\n';
  }
  return 0;
}
