#include<iostream>
#include<cstring>
#include<algorithm>
#define N 1000010
#define ll long long
using namespace std;
char s[N];
int ch[N][26],ed[N],m;
int cnt=1;
ll ans;
bool tot[N][26];
int ttot[N][26];
void insert(int u,int d)
{
    if(d==m+1){ed[u]++;return;}
    if(!ch[u][s[d]-'a']) ch[u][s[d]-'a']=++cnt;
    for(int i=0;i<26;i++)
    if(tot[d][i]) ans+=ed[ch[u][i]];
    if(d==m) ans+=ttot[u][s[d]-'a'];
    insert(ch[u][s[d]-'a'],d+1);
    for(int i=0;i<26;i++)
    ttot[u][i]+=tot[d][i];
}
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%s",s+1);
        m=strlen(s+1);
        reverse(s+1,s+m+1);
        memset(tot[m+1],0,sizeof(tot[m+1]));
        for(int j=m;j>=1;j--)
        {
            memcpy(tot[j],tot[j+1],sizeof(tot[j]));
            tot[j][s[j]-'a']=true;
        }
        insert(1,1);
    }
    printf("%lld\n",ans);
    return 0;
}