/*   @JUDGE_ID:   1705PZ   11039   C */
#include <stdio.h>
#include <stdlib.h>

int comp( const void *x, const void *y)
{
	return *(int*)x - *(int*)y;
}

int main()
{
	int m, n, v, c1, c2, count ,side, side2;
	int f[2][500000], s[2];

	scanf("%d", &m);
	while( m-- ) {
		c1 = c2 = s[0] = s[1] = count = 0;
		scanf("%d", &n);
		while( n-- ) {
			scanf("%d", &v);
			if( v < 0 ) {
				f[0][c1++] = -v;
			} else {
				f[1][c2++] = v;
			}
		}

		if( c1 == 0 || c2 == 0 ) {
			printf("1\n");
			continue;
		}

		qsort( f[0], c1, sizeof( int ), comp );
		qsort( f[1], c2, sizeof( int ), comp );

		side = ( f[0][0] < f[1][0] ? 0 : 1 );
		side2 = 1 - side;

		while( s[0] < c1 && s[1] < c2 ) {
			while( s[0] < c1 && s[1] < c2 && f[side][s[side]] > f[side2][s[side2]] ) {
				s[side2]++;
			}
			side = side2;
			side2 = 1 - side;
			count++;
		}

		printf("%d\n", count);
	}

	return 0;
}

