#include<bits/stdc++.h>
using namespace std;
const int N = 10010,base = 31,mod = 10009;
struct node
{
string to;
int nxt;
}e[N];
int head[N],tot;
int hsh(string s)
{
int cnt = 0;
for(int i = 0;i<s.size();i++)
{
cnt = (cnt * base + s[i]) % mod;
}
int q = head[cnt];
while(q!=0)
{
if(e[q].to==s)
{
return q;
}
q = e[q].nxt;
}
if(q==0)
{
e[++tot].to = s;
head[cnt] = tot;
e[tot].nxt = head[cnt];
}
return tot;
}
int findd(string s)
{
int cnt = 0;
for(int i = 0;i<s.size();i++)
{
cnt = (cnt * base + s[i]) % mod;
}
int q = head[cnt];
while(q!=0)
{
if(e[q].to==s)
{
return q;
}
q = e[q].nxt;
}
return q;
}
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin>>n;
for(int i = 1;i<=n;i++)
{
string h;
cin>>h;
int m = hsh(h);
}
cout<<tot<<endl;
}