#include<bits/stdc++.h>
#define ll long long
using namespace std;
const int N=3e5+10;
ll t,n,a[N],son[N][5],sta[N],top,f[N],fa[5],mod=998244353;
void dfs(int u)
{
if(!u)return;
int ls=son[u][0],rs=son[u][1];
fa[1]++;
dfs(ls);
fa[1]--;
fa[2]++;
dfs(rs);
fa[2]--;
f[u]+=f[ls]*f[rs];
f[u]%=mod;
if(fa[1])f[u]+=f[ls];
f[u]%=mod;
if(fa[2])f[u]+=f[rs];
f[u]%=mod;
if(fa[1]&&fa[2])f[u]--;
}
int main()
{
ios::sync_with_stdio(0);
cin>>t;
while(t--)
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>a[i];
while(a[sta[top]]>a[i]&&top)son[i][0]=sta[top--];
if(sta[top])son[sta[top]][1]=i;
sta[++top]=i;
}
f[0]=1;
dfs(sta[1]);
cout<<f[sta[1]]%mod<<"\n";
memset(f,0,sizeof(f));
memset(sta,0,sizeof(sta));
memset(son,0,sizeof(son));
memset(fa,0,sizeof(fa));
top=0;
}
return 0;
}