// pupil forever
#include<bits/stdc++.h>
using namespace std;
 
#define fast ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
#define ll long long
#define endl "\n"
#define fl(i,a,b) for(int i=a;i<b;i++)
#define rfl(i,a,b) for(int i=a;i>b;i--)
#define cases() ll t;cin>>t; while(t--)
#define sz(x) ((int)(x).size())
#define all(v) v.begin(),v.end()
#define get(a,n) fl(i,0,n)  cin>>a[i];
#define pr(a,n,st) fl(i,st,n) cout<<a[i]<<" ";  cout<<endl;
#define prt(a,n,m) fl(i,0,n) fl(j,0,m) cout<<a[i][j]<<" \n"[j==m-1];
#define pb push_back
#define ff first
#define ss second
#define nl cout<<endl;
typedef pair<int,int>pairs;
#define de(args...) { string _s = #args; replace(_s.begin(), _s.end(), ',', ' '); stringstream _ss(_s); istream_iterator<string> _it(_ss); err(_it, args); }
void err(istream_iterator<string> it) {}
template<typename T, typename... Args>
void err(istream_iterator<string> it, T a, Args... args) {
    cout << *it << " = " << a << endl;
    err(++it, args...);
}
 
const int MOD=1e9+7, N=2e9 + 5, B = 32;

void solve()      {
      int n;      cin >> n;
      vector<int>v(n);  get(v,n);
      sort(all(v));
      vector<int> a, b, c;
      fl(i,0,n)   {
            if(v[i] < 0)            a.pb(v[i]);
            else if( v[i] == 0)     b.pb(v[i]);
            else                    c.pb(v[i]);
      }
      int ans;
      if(sz(b) > 1 or sz(c) == 0)   {
            ans = sz(a) + sz(b); 
            cout << ans << endl;
            return;
      }
            int diff = N;
            fl(i, 0, sz(a) -1)      diff = min(diff, abs(a[i+1] - a[i]) );
            if(sz(b)!=0)      {
                  fl(i,0, sz(a))    diff = min(diff, abs(a[i]));
            }
            ans = sz(a) + (sz(b) == 0 ? 0 : 1) + ( diff >= c[0] ?  1  : 0 );
            cout << ans << endl;
            return;
}

int main()  {
      fast;
      #ifndef ONLINE_JUDGE     
      freopen("inputf.in", "r", stdin);  freopen("outputf.in", "w", stdout);  
      #endif
      cases()
            solve();
}