#include<bits/stdc++.h>
using namespace std;
long long t,n = 0,sum = 0,Max = -0x3f3f3f3f3f3f3f3f;
long long num[100005],dp1[100005],dp2[100005];
int main(){
scanf("%lld",&t);
while(t--){
memset(num,-0x3f,n*8);
memset(dp1,-0x3f,n*8);
memset(dp2,-0x3f,n*8);
sum = 0;
Max = -0x3f3f3f3f3f3f3f3f;
scanf("%lld",&n);
for(long long i = 1; i <= n; i++){
scanf("%lld",&num[i]);
sum += num[i];
}
for(long long i = 1; i < n; i++){
dp1[i] = num[i];
for(long long j = 1; j < i; j++){
dp1[i] = max(dp1[i],dp1[j]+num[i]);
}
Max = max(Max,dp1[i]);
}
for(long long i = 2; i <= n; i++){
dp2[i] = num[i];
for(long long j = 2; j < i; j++){
dp2[i] = max(dp2[i],dp2[j]+num[i]);
}
Max = max(Max,dp2[i]);
}
if(sum > Max){
printf("YES\n");
}else{
printf("NO\n");
}
}
return 0;
}