#include <bits/stdc++.h>   long long ans;   int F[50000001], n, m, N;   char str[10001];   void dfs(int x, int bit, int key) {     if (x > 3) {       if (bit) F[bit] += key;       return;     }     dfs(x + 1, bit, key);     int v = str[x] -  a ;     dfs(x + 1, bit | (1 << v), -key);   }   int main() {     scanf( %d , &m);     for (int i = 1; i <= m; i++) {       scanf( %s , str + 1);       dfs(1, 0, -1);     }     n = 24;     N = 1 << n;     int res = 0;     for (int i = 0; i < N; i++) res += F[i];     for (int i = 1; i < N; i <<= 1)       for (int j = 0; j < N; j++)         if (i & j) {           F[j] += F[j - i];         }     for (int i = 0; i < N; i++) ans ^= (long long)F[i] * F[i];     printf( %I64d n , ans);   }   