#include <bits/stdc++.h>
using namespace std;
map<string, int> KT;
string st[1005], x;
int n, d = 0;
char tg;
int main() {
  cin >> n;
  for (int i = 0; i < n; i++) {
    cin >> x;
    int kt[256] = {0};
    for (int j = 0; j < x.size(); j++)
      if (kt[(int)x[j]] == 0) {
        st[i] = st[i] + x[j];
        kt[(int)x[j]] = 1;
      }
  }
  for (int i = 0; i < n; i++) {
    x = st[i];
    for (int I = 0; I < x.size(); I++)
      for (int J = I + 1; J < x.size(); J++)
        if ((int)x[I] > (int)x[J]) {
          tg = x[I];
          x[I] = x[J];
          x[J] = tg;
        }
    st[i] = x;
  }
  for (int i = 0; i < n; i++) KT[st[i]] = 0;
  for (int i = 0; i < n; i++)
    if (KT[st[i]] == 0) {
      d++;
      KT[st[i]] = 1;
    }
  cout << d;
  return 0;
}
