#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
#include<vector>
#include<map>
using namespace std;
#define int long long
const int N = 200010;
int a[N];
int ans_x,ans_y,cnt,n;
void update(int L,int R)
{
if(L>R)return ;
int t=0;
for(int i=L;i<=R;i++)if(abs(a[i])==2)t++;
if(t>cnt)cnt=t,ans_x=L-1,ans_y=n-R;
}
bool get(int L,int R)
{
int c=1;
for(int i=L;i<=R;i++)if(a[i]<0)c^=1;
return c;
}
void cal(int L,int R)
{
if(get(L,R))update(L,R);
else
{
int id=L;
while(a[id]>0)id++;
update(L,id-1);
update(id+1,R);
id=R;
while(a[id]>0)id--;
update(L,id-1);
update(id+1,R);
}
}
void solve()
{
cin>>n;
for(int i=1;i<=n;i++)cin>>a[i];a[n+1]=0;
ans_x=n,ans_y=0,cnt=0;
for(int i=1,j=1;i<=n+1;i++)
{
if(a[i]==0)
{
if(i-1>=j)cal(j,i-1);
j=i+1;
}
}
cout<<ans_x<<" "<<ans_y<<'\n';
}
signed main()
{
int T;cin>>T;
while(T--)solve();
}