#include<bits/stdc++.h>
using namespace std;
int n,ans;
string a[400005];
int yes[80];
void dfs(int now,int msk[27]){
if(now==n){
for(int i=0;i<26;i++){
if(!msk){
return;
}
}
ans++;
}
for(int i=0;i<26;i++){
if(!msk){
return;
}
}
ans++;
for(int i=now;i<n;i++){
for(int j=1;j<=a[i].length();j++){
msk[a[i][j]-'a']++;
dfs(i+1,msk);
msk[a[i][j]-'a']--;
}
}
}
int main(){
ios::sync_with_stdio(0);
ios_base::sync_with_stdio(0);
cin.tie(NULL);
cout.tie(NULL);
cin>>n;
for(int i=1;i<=n;i++){
cin>>a[i];
for(int j=1;j<=a[i].length();j++){
yes[a[i][j]-'a']++;
}
}
for(int i=0;i<=25;i++){
if(!yes[i]){
cout<<0<<endl;
return 0;
}
}
memset(yes,0,sizeof yes);
dfs(1,yes);
cout<<ans;
return 0;
}