/*
TASK:seq
LANG:C++
*/
#include<iostream.h>
const long maxv=1000000001;
long min=maxv,g;
void search(long a[],long m)
{
     for(long i=0;i<m;i++)if(a[i]<min){
              min=a[i];
              g=i;
              }
}
int main()
{
    
    long a[100000][11],b[100000],i=0,j,p,k,br=2,n;
    cin>>n;
    for(k=0;k<n;k++)
    {cin>>a[k][0];
    for(j=1;j<=a[k][0];j++)cin>>a[i][j];i++;}
    for(i=0;i<n;i++){
    search(a[i],a[i][0]);
    a[i][g]=maxv;
    for(i=g+1;i<a[0][0];i++)
                             if(a[i][j]<a[i][j+1]){
                             a[i][j]=maxv;br++;}
    k=0;
    for(j=1;j<=a[i][0];j++)
    if(a[i][j]!=maxv){b[k]=a[i][j];k++;}
   for(p=0;p<k;p++)if(b[p]<b[p+1]){b[p]=maxv;br++;}
   if(br==a[i][0])cout<<1;
   else cout<<0;}          
    return 0;
}
