#include <bits/stdc++.h>
using namespace std;
int n, answer, f[17][(1 << 16) + 1];
string s[17];
vector<int> q[5];
inline int pro(char ch) {
if (ch == 'A')
return 0;
if (ch == 'E')
return 1;
if (ch == 'I')
return 2;
return 3;
}
inline int dfs(int i, int j) {
if (f[i][j])
return f[i][j];
int sum = 0;
for (auto y : q[pro(s[i][s[i].size() - 1])])
if (!(j >> (y - 1) & 1))
sum = max(sum, dfs(y, j | (1 << (y - 1))));
f[i][j] = sum + s[i].size();
return f[i][j];
}
int main() {
scanf("%d", &n);
for (int i = 1; i <= n; i++)
cin >> s[i];
for (int i = 1; i <= n; i++)
q[pro(s[i][0])].push_back(i);
for (int i = 1; i <= n; i++)
answer = max(answer, dfs(i, (1 << (i - 1))));
printf("%d\n", answer);
return 0;
}