#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();
  }
}
