#include<bits/stdc++.h>
#define MASK(i) (1LL << (i))
#define BIT(x,i) (((x)>>(i))&1)
using namespace std;
const long long MaxN = 25;
const long long MaxDP = MASK(MaxN);
long long n, a[MaxN];
int dp[MaxDP];
string s[MaxN];
void input()
{
cin >> n;
for (long long i = 0; i < n; i++)
{
cin >> s[i];
}
}
void solve()
{
for (long long i = 0; i < n; i++)
{
for (long long j = 0; j < s[i].size(); j++)
{
a[i] |= MASK(s[i][j] - 'a');
}
}
dp[0] = 0;
for (long long i = 0; i < n; i++)
{
dp[MASK(i)] = a[i];
}
for (long long mask = 1; mask < MASK(n); mask++)
{
long long tmp = mask & -mask;
dp[mask] = dp[tmp] | dp[mask ^ tmp];
}
int full = MASK(26) - 1;
long long ans = 0;
for (long long mask = 0; mask < MASK(n); mask++)
{
if (dp[mask] == full)
{
ans++;
}
}
cout << ans;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
input();
solve();
return 0;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KI2RlZmluZSBNQVNLKGkpICgxTEwgPDwgKGkpKQojZGVmaW5lIEJJVCh4LGkpICgoKHgpPj4oaSkpJjEpCnVzaW5nIG5hbWVzcGFjZSBzdGQ7Cgpjb25zdCBsb25nIGxvbmcgTWF4TiA9IDI1Owpjb25zdCBsb25nIGxvbmcgTWF4RFAgPSBNQVNLKE1heE4pOwoKbG9uZyBsb25nIG4sIGFbTWF4Tl07CmludCBkcFtNYXhEUF07CnN0cmluZyBzW01heE5dOwoKdm9pZCBpbnB1dCgpCnsKICAgIGNpbiA+PiBuOwoKICAgIGZvciAobG9uZyBsb25nIGkgPSAwOyBpIDwgbjsgaSsrKQogICAgewogICAgICAgIGNpbiA+PiBzW2ldOwogICAgfQp9Cgp2b2lkIHNvbHZlKCkKewogICAgZm9yIChsb25nIGxvbmcgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgZm9yIChsb25nIGxvbmcgaiA9IDA7IGogPCBzW2ldLnNpemUoKTsgaisrKQogICAgICAgIHsKICAgICAgICAgICAgYVtpXSB8PSBNQVNLKHNbaV1bal0gLSAnYScpOwogICAgICAgIH0KICAgIH0KCiAgICBkcFswXSA9IDA7CgogICAgZm9yIChsb25nIGxvbmcgaSA9IDA7IGkgPCBuOyBpKyspCiAgICB7CiAgICAgICAgZHBbTUFTSyhpKV0gPSBhW2ldOwogICAgfQoKICAgIGZvciAobG9uZyBsb25nIG1hc2sgPSAxOyBtYXNrIDwgTUFTSyhuKTsgbWFzaysrKQogICAgewogICAgICAgIGxvbmcgbG9uZyB0bXAgPSBtYXNrICYgLW1hc2s7CgogICAgICAgIGRwW21hc2tdID0gZHBbdG1wXSB8IGRwW21hc2sgXiB0bXBdOwogICAgfQoKICAgIGludCBmdWxsID0gTUFTSygyNikgLSAxOwogICAgbG9uZyBsb25nIGFucyA9IDA7CgogICAgZm9yIChsb25nIGxvbmcgbWFzayA9IDA7IG1hc2sgPCBNQVNLKG4pOyBtYXNrKyspCiAgICB7CiAgICAgICAgaWYgKGRwW21hc2tdID09IGZ1bGwpCiAgICAgICAgewogICAgICAgICAgICBhbnMrKzsKICAgICAgICB9CiAgICB9CgogICAgY291dCA8PCBhbnM7Cn0KCmludCBtYWluKCkKewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNpbi50aWUoMCk7CgogICAgaW5wdXQoKTsKICAgIHNvbHZlKCk7CgogICAgcmV0dXJuIDA7Cn0K