#include <bits/stdc++.h>
using namespace std;
const int lg = 24, mx = 1 << lg;
short cnt[mx], dp[mx][3];
char c[4];
int main() {
  ios_base::sync_with_stdio(0), cin.tie(0);
  int n;
  cin >> n;
  for (int t = 0; t < n; ++t) {
    cin >> c;
    int x = 0;
    for (int j = 0; j < 3; ++j) x |= 1 << (c[j] - 'a');
    for (int i = 0; i < lg; ++i)
      if (x >> i & 1) {
        ++cnt[1 << i];
        for (int j = i + 1; j < lg; ++j)
          if (x >> j & 1) {
            ++cnt[1 << i | 1 << j];
            for (int k = j + 1; k < lg; ++k)
              if (x >> k & 1) ++cnt[1 << i | 1 << j | 1 << k];
          }
      }
  }
  int ans = 0;
  for (int m = 1; m < mx; ++m) {
    int l1 = m & -m, l2 = (m ^ l1) & -(m ^ l1);
    dp[m][0] = dp[m ^ l1][0] + cnt[l1];
    if (l2)
      dp[m][1] =
          dp[m ^ l1][1] + dp[m ^ l2][1] - dp[m ^ l1 ^ l2][1] + cnt[l1 | l2];
    int x = m ^ l1 ^ l2;
    if (x) {
      dp[m][2] = dp[m ^ l1][2] + dp[m ^ l2][2] - dp[m ^ l1 ^ l2][2];
      for (int i = 0; i < lg; ++i)
        if (x >> i & 1) dp[m][2] += cnt[l1 | l2 | 1 << i];
    }
    int t = dp[m][0] - dp[m][1] + dp[m][2];
    assert(t <= n);
    ans ^= t * t;
  }
  cout << ans << "\n";
  return 0;
}
