#include <bits/stdc++.h>
using namespace std;
const int len = 65, mod = 998244353;
int hel[11][len][len][len], edge[11][len][len];
set<string> mys;
int add(int a, int b) { return (a + b) % mod; }
int mul(int a, int b) { return (a * 1LL * b) % mod; }
int fin(char a) {
  if ('a' <= a && a <= 'z') return a - 'a';
  if ('A' <= a && a <= 'Z') return 26 + a - 'A';
  return 52 + a - '0';
}
int solve(int x, int a, int b, int c, int d) {
  int ans = mul(hel[x][a][b][c], hel[x][a][b][d]);
  ans = mul(ans, hel[x][a][c][d]);
  ans = mul(ans, hel[x][b][c][d]);
  return ans;
}
int main() {
  int m, n = 62;
  scanf("%d", &m);
  while (m--) {
    string str;
    cin >> str;
    if (mys.count(str)) continue;
    mys.insert(str);
    reverse(str.begin(), str.end());
    mys.insert(str);
    int k = str.size(), a = fin(str[0]), b = fin(str[k - 1]);
    int pal = 1;
    for (int i = 0, j = k - 1; i <= j; i++, j--)
      if (str[i] != str[j]) pal = 0;
    edge[k][a][b]++;
    if (a != b || !pal) edge[k][b][a]++;
  }
  for (int d = 3; d <= 10; d++)
    for (int a = 0; a < n; a++)
      for (int b = a; b < n; b++)
        for (int c = b; c < n; c++)
          for (int i = 0; i < n; i++) {
            int temp = mul(edge[d][a][i], mul(edge[d][b][i], edge[d][c][i]));
            hel[d][a][b][c] = add(hel[d][a][b][c], temp);
          }
  int ans = 0;
  for (int x = 3; x <= 10; x++) {
    for (int a = 0; a < n; a++)
      for (int b = a + 1; b < n; b++)
        for (int c = b + 1; c < n; c++)
          for (int d = c + 1; d < n; d++)
            ans = add(ans, mul(24, solve(x, a, b, c, d)));
    for (int a = 0; a < n; a++)
      for (int b = a + 1; b < n; b++)
        for (int c = b + 1; c < n; c++) {
          ans = add(ans, mul(12, solve(x, a, a, b, c)));
          ans = add(ans, mul(12, solve(x, a, b, b, c)));
          ans = add(ans, mul(12, solve(x, a, b, c, c)));
        }
    for (int a = 0; a < n; a++)
      for (int b = a + 1; b < n; b++) {
        ans = add(ans, mul(6, solve(x, a, a, b, b)));
        ans = add(ans, mul(4, solve(x, a, a, a, b)));
        ans = add(ans, mul(4, solve(x, a, b, b, b)));
      }
    for (int a = 0; a < n; a++) ans = add(ans, mul(1, solve(x, a, a, a, a)));
  }
  printf("%d\n", ans);
  return 0;
}
