Pagini recente » Cod sursa (job #1539308) | Cod sursa (job #1365824) | Cod sursa (job #718037) | Cod sursa (job #2865917) | Cod sursa (job #127253)
Cod sursa(job #127253)
Program restante;
Var f,ff:text;
n,q,i,l:longint;
a,aa:array[0..40000] of string[17];
procedure qsort(st,dr:longint);
var m,i,j,k,l:longint;
aa:char;
begin
m:=(st+dr) div 2;
i:=st;
j:=dr;
while i<j do
begin
while a[q,i]<a[q,m] do inc(i);
while a[q,j]>a[q,m] do dec(j);
if i<j then
begin
aa:=a[q,i];
a[q,i]:=a[q,j];
a[q,j]:=aa;
i:=i+1;j:=j-1;
end;
end;
if i<dr then qsort(st,m);
if j>st then qsort(m+1,dr);
end;
procedure qsor1(st,dr:longint);
var m,i,j,k,l:longint;
aa:string;
begin
m:=(st+dr) div 2;
i:=st;
j:=dr;
while i<j do
begin
while a[i]<a[m] do inc(i);
while a[j]>a[m] do dec(j);
if i<j then
begin
aa:=a[i];
a[i]:=a[j];
a[j]:=aa;
i:=i+1;j:=j-1;
end;
end;
if i<dr then qsort(st,m);
if j>st then qsort(m+1,dr);
end;
Begin
assign(f,'restante.in');
reset(f);
assign(ff,'restante.out');
rewrite(ff);
readln(f,n);
for q:=1 to n do
begin
readln(f,a[q]);
qsort(1,length(a[q]));
end;
qsor1(1,n);
l:=n;
for i:=1 to n do
if (a[i]=a[i+1])or(a[i]=a[i-1]) then dec(l);
Writeln(ff,l);
close(f);
close(ff);
End.