program catchem;
const MAXN=5000;
var N,i,j, lung, somma, ans :Longint;
S : array[0..MAXN] of string[25];
uguale :array of Longint;
visto : array[0..maxN] of boolean;
begin
readln(N);
for i:=0 to N-1 do begin readln(S[i]); visto[i]:=false; end;
somma:=0; lung:=0;
for i:=0 to N-1 do
begin
if visto[i]=false then
begin
SetLength(uguale,lung +1);
lung:=Length(uguale);
uguale[lung-1]:=1;
for j:=i+1 to N do
if S[i]=S[j] then begin uguale[lung-1]:=uguale[lung-1]+1; visto[j]:=true; end;
end
else continue;
end;
for i:=0 to lung-1 do somma:=somma+uguale[i];
ans:= (N - somma) + lung +1;
writeln(ans);
end.
cHJvZ3JhbSBjYXRjaGVtOwpjb25zdCBNQVhOPTUwMDA7CnZhciBOLGksaiwgbHVuZywgc29tbWEsIGFucyA6TG9uZ2ludDsKICAgIFMgOiBhcnJheVswLi5NQVhOXSBvZiBzdHJpbmdbMjVdOwogICAgdWd1YWxlIDphcnJheSBvZiBMb25naW50OwogICAgdmlzdG8gOiBhcnJheVswLi5tYXhOXSBvZiBib29sZWFuOwpiZWdpbgoJcmVhZGxuKE4pOwoJZm9yIGk6PTAgdG8gTi0xIGRvIGJlZ2luIHJlYWRsbihTW2ldKTsgdmlzdG9baV06PWZhbHNlOyBlbmQ7Cglzb21tYTo9MDsgbHVuZzo9MDsKCWZvciBpOj0wIHRvIE4tMSBkbwoJICAgICAgICAgIGJlZ2luCgkgICAgICAgICAgICAgIGlmIHZpc3RvW2ldPWZhbHNlIHRoZW4KCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4gCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNldExlbmd0aCh1Z3VhbGUsbHVuZyArMSk7CgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGx1bmc6PUxlbmd0aCh1Z3VhbGUpOwoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1Z3VhbGVbbHVuZy0xXTo9MTsgCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciBqOj1pKzEgdG8gTiBkbwoJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgIFNbaV09U1tqXSB0aGVuIGJlZ2luICB1Z3VhbGVbbHVuZy0xXTo9dWd1YWxlW2x1bmctMV0rMTsgdmlzdG9bal06PXRydWU7IGVuZDsKCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCgkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZAoJICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGNvbnRpbnVlOyAKCSAgICAgICAgICBlbmQ7Cglmb3IgaTo9MCB0byBsdW5nLTEgIGRvIHNvbW1hOj1zb21tYSt1Z3VhbGVbaV07ICAgIAoJYW5zOj0gKE4gLSBzb21tYSkgKyBsdW5nICsxOwoJd3JpdGVsbihhbnMpOwplbmQu