#include <bits/stdc++.h>
using namespace std;
#define MOD 1000000007
double pi = acos(-1);
void fast() {ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);}
unsigned long long modex(unsigned long long a, unsigned long long b, unsigned long long m) {
if(b == 0) return 1;
unsigned long long x = modex(a, b/2, m)%m;
x = (x*x)%m;
if(b % 2) x *= a;
return x%m;
}
unsigned long long modinv(unsigned long long b) { return modex(b, MOD - 2, MOD); }
int main() {
fast();
//freopen("func.in", "r", stdin);
// freopen("output.out", "w", stdout);
int t;
t = 1;
cin >> t;
while(t --) {
int n;
cin >> n;
vector <long long> v(n);
for(int i = 0; i < n; i ++) {
cin >> v[i];
}
long long lastMax = -1e10;
long long lastSum = 0;
string sol = "YES";
for(int i = 0; i < n; i ++) {
if(lastSum <= 0) {
lastSum = v[i];
lastMax = v[i];
} else {
lastSum += v[i];
lastMax = max(v[i], lastMax);
}
if(lastSum > lastMax) {
sol = "NO";
break;
}
}
lastMax = -1e10;
lastSum = 0;
for(int i = n-1; i >= 0; i --) {
if(lastSum <= 0) {
lastSum = v[i];
lastMax = v[i];
} else {
lastSum += v[i];
lastMax = max(v[i], lastMax);
}
if(lastSum > lastMax) {
sol = "NO";
break;
}
}
cout << sol << "\n";
}
}