#include <bits/stdc++.h>
int dx4[] = {0, 0, -1, 1};
int dy4[] = {-1, 1, 0, 0};
bool valid(int r, int c, int x, int y) {
  if (x >= 1 && x <= r && y >= 1 && y <= c) return 1;
  return 0;
}
using namespace std;
int main() {
  vector<char> v;
  set<string> st;
  int n;
  cin >> n;
  string s;
  for (int i = 1; i <= n; i++) {
    cin >> s;
    for (int j = 0; j < s.length(); j++) v.push_back(s[j]);
    sort((v).begin(), (v).end());
    v.erase(unique((v).begin(), (v).end()), v.end());
    string str = "";
    for (int j = 0; j < v.size(); j++) str += v[j];
    st.insert(str);
    v.clear();
  }
  cout << st.size() << endl;
  return 0;
}
