#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
#define int long long
using namespace std;

int f(vector<int> a,vector<int>v){
    if(v.size() == a.size()){
        vector<int>v1;
        for(auto it:v){
            v1.push_back(a[it]);
        }
        int ans = 1;
        for(int i = 1;i<v1.size()-1;i++){
            if(v1[i-1]+v1[i+1] < v1[i]*2){
                ans = 0;
            }
        }
        return ans;
    }
    else{
        int ans = 0;
        set<int>st;
        for(int i = 0;i<a.size();i++){
            st.insert(i);
        }
        for(int i = 0;i<v.size();i++){
            st.erase(st.find(v[i]));
        }
        v.push_back(0);
        for(auto it:st){
            v[v.size()-1] = it;
            ans = max(ans,f(a,v));
        }
        return ans;
    }
}

int32_t main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        vector<int>a(n);
        for(int i = 0;i<n;i++){
            cin>>a[i];
        }
        if(n == 4){
            int ans = 0;
            for(int i = 0;i<4 && ans == 0;i++){
                for(int i1 = 0;i1<4 && ans == 0;i1++){
                    for(int i2 = 0;i2<4 && ans == 0;i2++){
                        for(int i3 = 0;i3<4 && ans == 0;i3++){
                            if(i != i1 && i != i2 && i != i3 && i1 != i2 && i1 != i3 && i2 != i3){
                                if(a[i1]*2 <= a[i]+a[i2] && a[i2]*2 <= a[i1]+a[i3]){
                                    ans = 1;
                                }
                            }
                        }
                    }
                }
            }
        }
        int ans = 0;
        for(int i = 0;i<n;i++){
            vector<int>v1;
            v1.push_back(i);
            ans = max(ans,f(a,v1));
        }
        if(ans){
            cout<<"YES";
        }
        else{
            cout<<"NO";
        }
        cout<<endl;
    }
}
