/***--_saelcc03_--***/
#include<bits/stdc++.h>
using namespace std;
#ifdef LOCAL
#include "debug.cpp"
#else
#define dbg(...)
#endif
#define fori(i,n) for(int i=0;i<(int)n;i++)
#define fore(i,n) for(int i=1;i<=(int)n;i++)
#define fora(i,n) for(int i=(int)n-1;i>=0;i--)
#define foro(i,a,b) for(int i=a;i<(int)b;i++)
//#define int long long
#define inf 1e9
#define INF 1e18
#define pii pair<int,int>
#define piii tuple<int,int,int>
#define vi vector<int>
#define vii vector<pii>
#define viii vector<piii>
#define vvi vector<vi>
#define vvii vector<vii>
#define vviii vector<viii>
#define vvvi vector<vvi>
#define vb vector<bool>
#define vs vector<string>
#define si set<int>
#define mpii map<int,int>
#define pb push_back
#define all(v) v.begin(),v.end()
#define rall(v) v.rbegin(), v.rend()
#define sz(x) (int)x.size()
#define yesi cout<<"YES"<<'\n'
#define nosi cout<<"NO"<<'\n'
#define endl '\n'
#define approx(a) fixed << setprecision(a)
#define ff first
#define ss second
#define fast read(n); vi v(n); read(v)
// reading your mind
template <class T> void read(vector<T> &v);
template <class F, class S> void read(pair<F, S> &p);
template <class T> void read(T &x) {cin >> x;}
template <class T> void read(vector<T> &v) {for(auto& x : v) read(x);}
template <class R, class... T> void read(R& r, T&... t){read(r); read(t...);};
template <class F, class S> void read(pair<F, S> &p) {read(p.ff, p.ss);}
// puking your feelings
template <class T> void ps(vector<T> &v);
template <class F, class S> void pr(const pair<F, S> &x);
template <class T> void pr(const T &x) {cout << x;}
void ps() {pr("\n");}
template <class R, class... T> void pr(const R& r, const T&... t) {pr(r); pr(t...);}
template <class F, class S> void pr(const pair<F, S> &x) {pr("{", x.ff, ", ", x.ss, "}\n");}
template <class T> void ps(vector<T> &v) {for(auto& x : v) pr(x, ' '); ps();}
template <class T> void ps(set<T> &v) {for(auto& x : v) pr(x, ' '); ps();}
template <class T> void ps(const T &x) {pr(x); ps();}
template <class R, class... T> void ps(const R& r, const T &...t) {pr(r, ' '); ps(t...);}
int tc=1,n,q,timer;
void solve(int caso){
fast;
sort(all(v));
int ans = 0;
int mx = *max_element(all(v));
for(int j = n - 1; j >= 1; --j){
int c = v[j];
int k = 0;
for(int i = j-1; i >=0; --i){
k=max(k,i+1);
int a = v[i];
int threshold = max(c - a, mx - c - a);
// move k to first position where v[k] > threshold
while(k < j && v[k] <= threshold) k++;
ans += (j - k);
}
}
ps(ans);
}
int32_t main(){
ios::sync_with_stdio(false); cin.tie(0);
read(tc);
fore(caso, tc){
solve(caso);
}
}
LyoqKi0tX3NhZWxjYzAzXy0tKioqLwoKI2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKCiNpZmRlZiBMT0NBTAojaW5jbHVkZSAiZGVidWcuY3BwIgojZWxzZQojZGVmaW5lIGRiZyguLi4pCiNlbmRpZgoKI2RlZmluZSBmb3JpKGksbikgZm9yKGludCBpPTA7aTwoaW50KW47aSsrKQojZGVmaW5lIGZvcmUoaSxuKSBmb3IoaW50IGk9MTtpPD0oaW50KW47aSsrKQojZGVmaW5lIGZvcmEoaSxuKSBmb3IoaW50IGk9KGludCluLTE7aT49MDtpLS0pCiNkZWZpbmUgZm9ybyhpLGEsYikgZm9yKGludCBpPWE7aTwoaW50KWI7aSsrKQovLyNkZWZpbmUgaW50IGxvbmcgbG9uZwojZGVmaW5lIGluZiAxZTkKI2RlZmluZSBJTkYgMWUxOAojZGVmaW5lIHBpaSBwYWlyPGludCxpbnQ+CiNkZWZpbmUgcGlpaSB0dXBsZTxpbnQsaW50LGludD4KI2RlZmluZSB2aSB2ZWN0b3I8aW50PgojZGVmaW5lIHZpaSB2ZWN0b3I8cGlpPgojZGVmaW5lIHZpaWkgdmVjdG9yPHBpaWk+CiNkZWZpbmUgdnZpIHZlY3Rvcjx2aT4KI2RlZmluZSB2dmlpIHZlY3Rvcjx2aWk+CiNkZWZpbmUgdnZpaWkgdmVjdG9yPHZpaWk+CiNkZWZpbmUgdnZ2aSB2ZWN0b3I8dnZpPgojZGVmaW5lIHZiIHZlY3Rvcjxib29sPgojZGVmaW5lIHZzIHZlY3RvcjxzdHJpbmc+CiNkZWZpbmUgc2kgc2V0PGludD4KI2RlZmluZSBtcGlpIG1hcDxpbnQsaW50PgojZGVmaW5lIHBiIHB1c2hfYmFjawojZGVmaW5lIGFsbCh2KSB2LmJlZ2luKCksdi5lbmQoKQojZGVmaW5lIHJhbGwodikgdi5yYmVnaW4oKSwgdi5yZW5kKCkKI2RlZmluZSBzeih4KSAoaW50KXguc2l6ZSgpCiNkZWZpbmUgeWVzaSBjb3V0PDwiWUVTIjw8J1xuJwojZGVmaW5lIG5vc2kgY291dDw8Ik5PIjw8J1xuJwojZGVmaW5lIGVuZGwgJ1xuJwojZGVmaW5lIGFwcHJveChhKSBmaXhlZCA8PCBzZXRwcmVjaXNpb24oYSkKI2RlZmluZSBmZiBmaXJzdAojZGVmaW5lIHNzIHNlY29uZAojZGVmaW5lIGZhc3QgcmVhZChuKTsgdmkgdihuKTsgcmVhZCh2KQovLyByZWFkaW5nIHlvdXIgbWluZAp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdm9pZCByZWFkKHZlY3RvcjxUPiAmdik7CnRlbXBsYXRlIDxjbGFzcyBGLCBjbGFzcyBTPiB2b2lkIHJlYWQocGFpcjxGLCBTPiAmcCk7CnRlbXBsYXRlIDxjbGFzcyBUPiB2b2lkIHJlYWQoVCAmeCkge2NpbiA+PiB4O30KdGVtcGxhdGUgPGNsYXNzIFQ+IHZvaWQgcmVhZCh2ZWN0b3I8VD4gJnYpIHtmb3IoYXV0byYgeCA6IHYpIHJlYWQoeCk7fQp0ZW1wbGF0ZSA8Y2xhc3MgUiwgY2xhc3MuLi4gVD4gdm9pZCByZWFkKFImIHIsIFQmLi4uIHQpe3JlYWQocik7IHJlYWQodC4uLik7fTsKdGVtcGxhdGUgPGNsYXNzIEYsIGNsYXNzIFM+IHZvaWQgcmVhZChwYWlyPEYsIFM+ICZwKSB7cmVhZChwLmZmLCBwLnNzKTt9Ci8vIHB1a2luZyB5b3VyIGZlZWxpbmdzCnRlbXBsYXRlIDxjbGFzcyBUPiB2b2lkIHBzKHZlY3RvcjxUPiAmdik7CnRlbXBsYXRlIDxjbGFzcyBGLCBjbGFzcyBTPiB2b2lkIHByKGNvbnN0IHBhaXI8RiwgUz4gJngpOwp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdm9pZCBwcihjb25zdCBUICZ4KSB7Y291dCA8PCB4O30Kdm9pZCBwcygpIHtwcigiXG4iKTt9CnRlbXBsYXRlIDxjbGFzcyBSLCBjbGFzcy4uLiBUPiB2b2lkIHByKGNvbnN0IFImIHIsIGNvbnN0IFQmLi4uIHQpIHtwcihyKTsgcHIodC4uLik7fQp0ZW1wbGF0ZSA8Y2xhc3MgRiwgY2xhc3MgUz4gdm9pZCBwcihjb25zdCBwYWlyPEYsIFM+ICZ4KSB7cHIoInsiLCB4LmZmLCAiLCAiLCB4LnNzLCAifVxuIik7fQp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdm9pZCBwcyh2ZWN0b3I8VD4gJnYpIHtmb3IoYXV0byYgeCA6IHYpIHByKHgsICcgJyk7IHBzKCk7fQp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdm9pZCBwcyhzZXQ8VD4gJnYpIHtmb3IoYXV0byYgeCA6IHYpIHByKHgsICcgJyk7IHBzKCk7fQp0ZW1wbGF0ZSA8Y2xhc3MgVD4gdm9pZCBwcyhjb25zdCBUICZ4KSB7cHIoeCk7IHBzKCk7fQp0ZW1wbGF0ZSA8Y2xhc3MgUiwgY2xhc3MuLi4gVD4gdm9pZCBwcyhjb25zdCBSJiByLCAgY29uc3QgVCAmLi4udCkge3ByKHIsICcgJyk7IHBzKHQuLi4pO30KCmludCB0Yz0xLG4scSx0aW1lcjsKCnZvaWQgc29sdmUoaW50IGNhc28pewogICAgZmFzdDsKICAgIHNvcnQoYWxsKHYpKTsKICAgIGludCBhbnMgPSAwOwogICAgaW50IG14ID0gKm1heF9lbGVtZW50KGFsbCh2KSk7CgogICAgZm9yKGludCBqID0gbiAtIDE7IGogPj0gMTsgLS1qKXsKICAgICAgICBpbnQgYyA9IHZbal07CiAgICAgICAgaW50IGsgPSAwOwogICAgICAgIGZvcihpbnQgaSA9IGotMTsgaSA+PTA7IC0taSl7CiAgICAgICAgICAgIGs9bWF4KGssaSsxKTsKICAgICAgICAgICAgaW50IGEgPSB2W2ldOwogICAgICAgICAgICBpbnQgdGhyZXNob2xkID0gbWF4KGMgLSBhLCBteCAtIGMgLSBhKTsKCiAgICAgICAgICAgIC8vIG1vdmUgayB0byBmaXJzdCBwb3NpdGlvbiB3aGVyZSB2W2tdID4gdGhyZXNob2xkCiAgICAgICAgICAgIHdoaWxlKGsgPCBqICYmIHZba10gPD0gdGhyZXNob2xkKSBrKys7CiAgICAgICAgICAgIGFucyArPSAoaiAtIGspOwogICAgICAgIH0KICAgIH0KICAgIHBzKGFucyk7Cn0KaW50MzJfdCBtYWluKCl7CiAgICBpb3M6OnN5bmNfd2l0aF9zdGRpbyhmYWxzZSk7IGNpbi50aWUoMCk7CiAgICByZWFkKHRjKTsKICAgIGZvcmUoY2FzbywgdGMpewogICAgICAgIHNvbHZlKGNhc28pOwogICAgfQp9Cgo=