#include <bits/stdc++.h>
using namespace std;
long long src[1000010], dst[1000010], st[1000010], cap[1000010];
signed main() {
  int T;
  cin >> T;
  while (T--) {
    int N;
    cin >> N;
    for (int i = 0; i < N; i++) scanf("%d", &dst[i]);
    for (int i = 0; i < N; i++) scanf("%d", &src[i]);
    long long sum = 0;
    for (int i = 0; i < N; i++) {
      st[i] = src[i] - dst[i];
      cap[i] = src[i];
      sum += st[i];
    }
    if (sum < 0) {
      puts("NO");
      continue;
    }
    long long l = 0, r = cap[0];
    long long cost = 0;
    bool Y = 0;
    for (int i = 1; i < N; i++) {
      l += st[i], r += st[i];
      l = max((long long)0, l);
      if (r < 0) {
        Y = 1;
        break;
      }
      r = min(r, cap[i]);
      if (r < l) {
        cost += l - r;
        l = r;
      }
    }
    if (Y || cost > sum)
      puts("NO");
    else
      puts("YES");
  }
  return 0;
}
