#include <iostream>
#include <fstream>
#include <cstring>
#include <algorithm>
using namespace std;
ifstream f("restante.in");
ofstream g("restante.out");
int nr,fv[26];
bool V[36000];
struct cv
{
char s[17];
};
cv s[36000];
bool compara(const cv a, const cv b)
{
return strcmp(a.s,b.s)<0;
}
int main()
{
int n;
f>>n;
f.get();
for(int i=0; i<n; i++)
{
f.getline(s[i].s,17);
sort(s[i].s,s[i].s+strlen(s[i].s));
}
sort(s,s+n,compara);
if(n==1)g<<1;
else
{
if(strcmp(s[0].s,s[1].s)!='\0')nr++;
for(int i=1;i<n-1;i++)
{
if(strcmp(s[i].s,s[i-1].s)!='\0'&&strcmp(s[i].s,s[i+1].s)!='\0')nr++;
}
if(strcmp(s[n-1].s,s[n-2].s)!='\0')nr++;
}
g<<nr;
return 0;
}