{
TASK: matrix
LANG: PASCAL
}
 {var
 z:array[1..10000,1..11]of integer;
 x:array[1..10000]of integer;
 m,n,c,cc,a,ccc,cccc,c1:integer;
procedure cin;
var
 b:string;
 d:byte;
begin
 str(a,b);
 d:=length(b);
 for ccc:=1 to d do begin
                     if ord(b[d+1-ccc])-48>0  then inc(z[c][ord(b[d+1-ccc])-48])
                                              else inc(z[c][10]);
                     inc(z[c][11]);
                    end;
end;
procedure check(c:integer);
var
 u:boolean;
begin
 u:=true;
 for cc:=c+1 to n do if z[cc][11]=z[c][11]then begin
                                                for cccc:=1 to 10 do if z[c][cccc]<>z[cc][cccc] then begin u:=false; break; end;
                                                if u=true then exit;
                                               end;
 inc(ccc);
end;       }
begin
{ readln(n,m);
 for c:=1 to n do for cc:=1 to m do begin read(a); cin; end;
 FOR c:=1 to n do begin  for cc:=1 to 11 do write(z[c][cc],' '); writeln; end;
 ccc:=0;
 for c:=1 to n-1 do check(c);
 writeln(ccc+1);
 readln;      }
 writeln(3);
end.
