#include <bits/stdc++.h>
using namespace std;
const int N = 200004;
char s[N][54];
vector<int> g[40];
int h[40];
int par[40];
int fnd(int x) {
  if (par[x] == x)
    return x;
  else
    return par[x] = fnd(par[x]);
}
void unon(int u, int v) {
  int px = fnd(u);
  int py = fnd(v);
  if (px == py) return;
  par[py] = px;
}
int main() {
  int n;
  scanf("%d", &n);
  int i, j;
  for (i = 0; i < 26; i++) par[i] = i;
  for (i = 1; i <= n; i++) {
    scanf("%s", s[i] + 1);
    int m = strlen(s[i] + 1);
    int x = (s[i][1] - 'a');
    for (j = 1; j <= m; j++) {
      h[s[i][j] - 'a']++;
      unon(x, s[i][j] - 'a');
    }
  }
  set<int> st;
  for (i = 0; i < 26; i++) {
    if (h[i]) st.insert(fnd(i));
  }
  printf("%d\n", (int)st.size());
  return 0;
}
