#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define mp make_pair
#define pb push_back
#define a first 
#define b second
int n;
vector<pair<int,string>> aa;
int pre[1000002][26];
int cot[1000002][26];

int co=0;
llo ans=0;
int cco[26];
void insert(string s){
	int cur=0;
	int st[26];
	for(int j=0;j<26;j++){
		st[j]=0;
	}
	
	if(s.size()==1){
		ans+=cco[s[0]-'a'];
	//	cout<<s<<":"<<ans<<endl;
	}
	for(int i=0;i<s.size();i++){
		st[s[i]-'a']+=1;
		if(st[s[i]-'a']==1){
			cco[s[i]-'a']+=1;
		}
	}
	for(int i=s.size()-1;i>=0;i--){
		if(pre[cur][s[i]-'a']==0){
			co+=1;
			pre[cur][s[i]-'a']=co;
		}

		cur=pre[cur][s[i]-'a'];
		if(i==1){
			ans+=cot[cur][s[0]-'a'];
		}
		st[s[i]-'a']-=1;
		for(int j=0;j<26;j++){
			if(st[j]>0){
				cot[cur][j]+=1;
			}
		}
	}

}
int main(){
	ios_base::sync_with_stdio(false);
	cin.tie(NULL);
	cin>>n;
	for(int i=0;i<n;i++){
		string s;
		cin>>s;
		aa.pb({s.size(),s});
	}
	sort(aa.begin(),aa.end());
	reverse(aa.begin(),aa.end());
	for(auto j:aa){
		insert(j.b);
	//	cout<<j.b<<","<<endl;
	}
	cout<<ans<<endl;






	return 0;
}