#include #include #include #include #include using namespace std; typedef pair ii; typedef long long ll; templatevoid sc(T &x){ x=0;char c;int f=1; while(c=getchar(),c<48)if(c=='-')f=-1; do x=x*10+(c^48); while(c=getchar(),c>47); x*=f; } templatevoid nt(T x){ if(!x)return; nt(x/10); putchar('0'+x%10); } templatevoid pt(T x){ if(x<0)putchar('-'),x=-x; if(!x)putchar('0'); else nt(x); } //---------------------------------- const int maxn=100005; const int mod=998244353; int n; int a[maxn],b[maxn]; //a min b max void solve(){ sc(n); for(int i=1;i<=n;i++)sc(a[i]); for(int i=1;i<=n;i++)sc(b[i]); int use=1; int L=a[1],R=b[1]; if(L!=R){ puts("0"); return; } ll res=1; for(int i=2;i<=n;i++){ if(a[i]!=L&&b[i]!=R){ res=0; break; } else if(a[i]!=L){ if(a[i]>L){ res=0; break; } else{ use++; L=a[i]; } } else if(b[i]!=R){ if(b[i]