#include<bits/stdc++.h>
#define int long long
using namespace std;
int n;
int base=97;
int cnt=0;
int mod1=19260817;
int mod2=1e9+9;
struct node
{
int x,y;
bool operator < (const node &b) const
{
if(x!=b.x)return x<b.x;
return y<b.y;
}
};
int has(string o)
{
int ans=0;
int t=o.length();
for(int i=0;i<t;i++)
ans=(ans*base+o[i]-'0')%mod1;
return ans;
}
//char a[] strlen
int ha(string o)
{
int ans=0;
int t=o.length();
for(int i=0;i<t;i++)
ans=(ans*base+o[i]-'0')%mod2;
return ans;
}
priority_queue<node>q;
signed main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
string a;
node k;
cin>>a;
k.x=has(a);
k.y=ha(a);
q.push(k);
}
node u=q.top();
q.pop();
cnt++;
while(!q.empty())
{
node f=q.top();
q.pop();
if(f.x!=u.y||f.y!=u.y)cnt++,u.x=f.x,u.y=f.y;
}
cout<<cnt;
}