Cod sursa(job #125713)
#include<stdio.h>
#include<string.h>
#include<algorithm>
#define lg 36005
using namespace std;
int nr, i, j, st[lg], x, n, raspuns, r[lg], pz;
char vc[lg][20], vn[lg][20], s[20];
int cmp(int a, int b){
if (strcmp(vc[a], vc[b]) > 0)
return 0;
return 1;
}
int main()
{
freopen("restante.in", "rt", stdin);
freopen("restante.out", "wt", stdout);
scanf("%d", &nr);
for (i = 1; i <= nr; i ++){
scanf("%s", s);
n = strlen(s);
sort(s, s+n);
for (j = 0; j < n; j ++)
vc[i][j] = s[j];
}
for (i = 1; i <= nr; i ++)
st[i] = i;
sort(st+1, st+nr+1, cmp);
for (i = 1; i <= nr; i ++){
x = st[i];
n = strlen(vc[x]);
for (j = 0; j < n; j ++)
vn[i][j] = vc[x][j];
}
r[1] = 1;
pz = 1;
for (i = 2; i <= nr; i ++)
if (strcmp(vn[i], vn[i-1]) == 0)
r[pz] ++;
else
r[++pz] = 1;
for (i = 1; i <= pz; i ++)
if (r[i] == 1)
raspuns ++;
printf("%d\n", raspuns);
return 0;
}