{
TASK:seq
LANG:Pascal
}
program seq;
  var n,i,f:Byte;
      j,h:Integer;
      A:array[1..100000,1..10]of Integer;
      M:array[1..10]of Integer;
  procedure R(i:Integer);
    var B:array[1..100000]of Integer;
        C:array[1..100000]of Integer;
        j,k,l:Integer;
    begin
      for j:=1 to 100000 do
        begin
          b[j]:=0;
          c[j]:=0;
        end;
      f:=1;
      k:=1;
      l:=1;
      for j:=1 to m[i] do
        if a[j,i]>b[k] then
          begin
            b[k+1]:=a[j,i];
            inc(k);
          end
        else
          if a[i,j]>c[l] then
            begin
              c[l+1]:=a[j,i];
              inc(l);
            end
          else
            begin
              f:=0;
              exit;
            end;
      end;
  begin
    readln(n);
    for i:=1 to 10 do
      begin
        for j:=1 to 100000 do
          a[i,j]:=0;
        m[i]:=0;
      end;
    for i:=1 to n-1 do
      begin
        readln(m[i]);
        read(h);
        for j:= 1 to m[i] do
          read(A[i,j]);
      end;
    for i:=1 to n do
      begin
        R(i);
        write(f);
      end;
  end.
