//Trumling ©
//Αφόδευε υψηλά και ηγνάντει 
#include <bits/stdc++.h>
using namespace std; 
typedef long long ll;
#define pb push_back
#define F first
#define S second
#define enter cout<<'\n';
#define INF 99999999999999999
#define MOD 998244353
#define all(x) x.begin(),x.end()
#define out(x) for(auto y:x)cout<<y;enter
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
ll n;
cin>>n;
vector<vector<vector<ll>>>arr(11,vector<vector<ll>>(26,vector<ll>(26,0)));
set<ll>se;
for(int i=0;i<n;i++)
    {
        string s;
        cin>>s;
        ll curr=0;
        for(int i=0;i<s.size();i++)
            {
                curr*=26;
                curr+=(s[i]-'a');
            }
       
        if(se.count(curr)==0)
        { 
            arr[s.size()][s[0]-'a'][s[s.size()-1]-'a']++;
            se.insert(curr); 
        }
        
        for(int i=0;i<s.size()/2;i++)
            swap(s[i],s[s.size()-1-i]);
        curr=0;
        for(int i=0;i<s.size();i++)
            {
                curr*=26;
                curr+=(s[i]-'a');
            }
        
        if(se.find(curr)==se.end())
        {
            arr[s.size()][s[0]-'a'][s[s.size()-1]-'a']++; 
            se.insert(curr); 
        }
    }
ll ans=0;
for(int c=3;c<=10;c++)
    for(int i=0;i<26;i++)
        for(int j=0;j<26;j++)
            for(int ii=0;ii<26;ii++)
                for(int jj=0;jj<26;jj++)
                {
                    ll ans1=0;
                    ll ans2=0;
                    ll ans3=0;
                    ll ans4=0;
                    for(int r=0;r<26;r++)
                        ans1+=arr[c][i][r]*arr[c][j][r]*arr[c][jj][r];
                    for(int r=0;r<26;r++)
                        ans2+=arr[c][i][r]*arr[c][j][r]*arr[c][ii][r];
                    
                    for(int r=0;r<26;r++)
                        ans3+=arr[c][i][r]*arr[c][ii][r]*arr[c][jj][r];
                    
                    for(int r=0;r<26;r++)
                        ans4+=arr[c][j][r]*arr[c][jj][r]*arr[c][ii][r];
                    
                    ans+=ans1*ans2*ans3*ans4;
                }
cout<<ans;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |