#include <bits/stdc++.h>
using namespace std;
const int N = 1e6 + 5;
long long a[N], b[N];
int main() {
  int T;
  scanf("%d", &T);
  while (T--) {
    int n;
    scanf("%d", &n);
    for (int i = 0; i < n; ++i) scanf("%lld", &a[i]);
    for (int i = 0; i < n; ++i) scanf("%lld", &b[i]);
    long long l = 0, r = min(a[0], b[0]);
    bool ans = 0;
    while (l <= r) {
      long long mid = (l + r) / 2;
      long long tmp = b[0] - mid;
      bool gg = 0, good = 1;
      for (int i = 1; i < n; ++i) {
        if (a[i] < tmp && good) {
          gg = 1;
        }
        tmp = b[i] - max(0LL, a[i] - tmp);
        if (tmp < 0) good = 0;
      }
      if (tmp + mid < a[0]) {
        good = 0;
      }
      if (good) {
        ans = 1;
        break;
      }
      if (gg) {
        l = mid + 1;
      } else {
        r = mid - 1;
      }
    }
    puts(ans ? "YES" : "NO");
  }
}
