#include <iostream>
using namespace std;
const int N = 1e5 + 5, base1 = 2330, base2 = 2033, Mod = 2011003;
struct mep{
int x, y;
};
int n, ans;
string a;
bool v[N][N];
mep function1(string x){
int ret1 = 0, ret2 = 0;
for(int first = 0; first < x.size(); ++first){
ret1 = ret1 * base1 + x[first];
ret1 %= Mod;
}
for(int first = 0; first < x.size(); ++first){
ret2 = ret2 * base2 + x[first];
ret2 %= Mod;
}
mep u = {ret1, ret2};
return u;
}
int main(){
cin >> n;
for(int first = 1; first <= n; ++first){
cin >> a;
mep hs = function1(a);
ans += !v[hs.x][hs.y];
v[hs.x][hs.y] = 1;
}
cout << ans;
return 0;
}
为啥CE,但DEV-CPP能运行