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