Problem7308--CodeChef ALTARAY - Alternating subarray prefix

7308: CodeChef ALTARAY - Alternating subarray prefix

[Creator : ]
Time Limit : 1.000 sec  Memory Limit : 256 MiB

Description

There's an array A consisting of N non-zero integers A1..N. A subarray of A is called alternating if any two adjacent elements in it have different signs (i.e. one of them should be negative and the other should be positive).

For each x from 1 to N, compute the length of the longest alternating subarray that starts at x - that is, a subarray Ax..y for the maximum possible y ≥ x. The length of such a subarray is y-x+1.

Input

The first line of the input contains an integer T - the number of test cases.
The first line of each test case contains N.
The following line contains N space-separated integers A1..N.

Output

For each test case, output one line with N space-separated integers - the lengths of the longest alternating subarray starting at x, for each x from 1 to N.

Constraints

$1 ≤ T ≤ 10$
$1 ≤ N ≤ 10^5$
$-10^9 ≤ A_i ≤ 10^9$

Sample 1 Input

3
4
1 2 3 4
4
1 -5 1 -5
6
-5 -1 -1 2 -2 -3

Sample 1 Output

1 1 1 1
4 3 2 1
1 1 3 2 1 1

Example case 1. No two elements have different signs, so any alternating subarray may only consist of a single number.

Example case 2. Every subarray is alternating.

Example case 3. The only alternating subarray of length 3 is A3..5.

HINT

难度系数:1408
题目来源:CodeChef ALTARAY

Source/Category