#include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef unsigned int uint;
typedef pair<int, int> pii;

typedef vector<int> vi;
typedef vector<ll> vl;
typedef vector<pii> vpii;

#define FOR(i, a, b) for (int i = a; i <= (b); i++)
#define F0R(i, a) for (int i = 0; i < (a); i++)
#define FORd(i, a, b) for (int i = (b); i >= a; i--)
#define F0Rd(i, a) for (int i = (a)-1; i >= 0; i--)
#define trav(a, x) for (auto &a : x)

#define sz(x) (int)(x).size()
#define popcnt(x) __builtin_popcount(x)
#define low_bo(a, x) (lower_bound(a.begin(), a.end(), x) - a.begin())
#define up_bo(a, x) (upper_bound(a.begin(), a.end(), x) - a.begin())
#define unique(a) a.resize(unique(a.begin(), a.end()) - a.begin())
#define shuffle(a) shuffle(a.begin(), a.end(), rnd)
#define mp make_pair
#define pb push_back
#define eb emplace_back
#define f first
#define s second
#define lb lower_bound
#define ub upper_bound
#define all(x) x.begin(), x.end()
#define ins insert

mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());

const int MOD = 1000000007;
const char nl = '\n';
const int MX = 150001; //check the limits, dummy

void solve(int t) {
	int n;
	cin >> n;
	vi arr(n);
	int cnt = 0;
	vi neg, pos;
	F0R(i, n) {
		cin >> arr[i];
		if (arr[i] <= 0)
			cnt++, neg.pb(arr[i]);
		else
			pos.pb(arr[i]);
	}
	if (sz(neg) > 1 && sz(pos) > 0) {
		sort(all(neg));
		sort(all(pos));
		int mn = neg[1] - neg[0];
		F0R(i, sz(neg) - 1) {
			mn = min(mn, neg[i+1] - neg[i]);
		}
		if (mn >= pos[0]) {
			cnt++;
		}
	} else if(sz(pos)>0) {
    cnt++;
  }
	cout << cnt << nl;
}

int main() {
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	cout.precision(20);
	cout << fixed;

	int T = 1;
	cin >> T;
	F0R(i, T) {
		solve(i + 1);
	}
}

// read the question correctly (ll vs int)
// template by bqi343