#include<bits/stdc++.h>
using namespace std;
struct DP{int num,len;}dp[30];
int a[30];
int main()
{
int m,n;scanf("%d",&m);
for(int o=1;o<=m;o++)
{
int ans=0;
scanf("%d",&n);
memset(a,0,sizeof(a));
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++)
{
dp[i].num =1;
dp[i].len =1;
}
for(int i=2;i<=n;i++)
{
for(int j=i-1;j>=1;j--)
{
if(a[i]>=a[j])
{
if(dp[i].len <dp[j].len +1)
{
dp[i].len =dp[j].len +1;
dp[i].num =dp[j].num ;
}
else if(dp[i].len ==dp[j].len +1) dp[i].num ++;
}
}
}
int maxx=-1;
for(int i=1;i<=n;i++)
{
if(dp[i].len ==maxx)
{
ans+=dp[i].num ;
}
else if(dp[i].len >maxx)
{
maxx=dp[i].len ;
ans=dp[i].num ;
}
}
printf("%d %d\n",maxx,ans);
}
return 0;
}