#include<bits/stdc++.h>
using namespace std;
int dp[65545][8],n,maxn,lg[65545];
string s[20],y="#AEIOU";
int fs(char c){
if(c=='A')return 1;
if(c=='E')return 2;
if(c=='I')return 3;
if(c=='O')return 4;
if(c=='U')return 5;
return 0;
}
int main(){
int ss=1;
for(int i=1;i<=16;i++){
lg[ss]=1;
ss*=2;
}
cin>>n;
for(int i=1;i<=n;i++)cin>>s[i];
for(int i=1;i<(1<<n);i++){
bool flag=0;
if(lg[i]==1)flag=1;
for(int j=1;j<=5;j++){
for(int k=1;k<=n;k++){
char c=s[k][s[k].size()-1];
if(((1<<(k-1))&i)&&c==y[j]){
for(int l=1;l<=n;l++){
if(k==l&&flag==0)break;
if((1<<(l-1))&i){
char d=s[l][0];
if(d==c||flag)dp[i][j]=max(dp[i][j],dp[i-(1<<(l-1))][fs(d)]+int(s[l].size()));
cout<<i<<" "<<j<<" "<<k<<" "<<l<<" "<<dp[i][j]<<" "<<d<<" "<<endl;
maxn=max(maxn,dp[i][j]);
}
}
}
}
}
}
cout<<maxn;
return 0;
}