#include <bits/stdc++.h>   using namespace std;   long long q, dp[105][100005], a[555555], b[555555], k, l, m, n, o, p;   map<long long, long long> mp;   vector<long long> adj[555555];   const long long mod = 1e9 + 7;   void solve() {     cin >> n;     for (long long i = 1; i <= n; i++) {       string s =   ;       cin >> s;       long long op[26], po = 0;       memset(op, 0, sizeof op);       for (auto u : s) {         op[u -  a ]++;       }       for (long long i = 0; i < 26; i++) {         po += (1 << i) * (op[i] % 2);       }       mp[po]++;       a[i] = po;     }     for (long long i = 1; i <= n; i++) {       mp[a[i]]--;       k += mp[a[i]];       for (long long j = 0; j < 26; j++) {         k += mp[a[i] ^ (1 << j)];       }     }     cout << k;   }   int main() {     ios_base::sync_with_stdio(0), cin.tie(0), cout.tie(0);     q = 1;     while (q--) {       solve();     }   }   