#include <iostream>
#include <string>
#include <map>
#define MAX(a,b) (((a)>(b))?(a):(b))
using namespace std;

bool ch(char a){
	switch(a){
		case 'a':
		case 'i':
		case 'u':
		case 'e':
		case 'o':
			return true;
		default:
			return false;
	}
}

int main(void){
	int n;

	while (cin>>n,n) {
		int mlen=0;
		string s[50];
		string code[50];
		string jn[50];
		for(int i=0;i<n;i++)jn[i]="";
		for(int i=0;i<n;i++){
			cin>>s[i];
		}
		for(int i=0;i<n;i++)code[i]=s[i][0];
		for(int i=0;i<n;i++){
			for(int j=1;j<s[i].length();j++){
				if(ch(s[i][j-1]))code[i]+=s[i][j];
			}
		}
		for(int i=0;i<n;i++)mlen=MAX(mlen,code[i].length());
		int k,i;
		for(k=1;k<=mlen;k++){
			std::map<string,bool> b;
			for(i=0;i<n;i++){
				if(k-1<code[i].length())jn[i]+=code[i][k-1];
			}
			for(i=0;i<n;i++){
				if(b[jn[i]])break;
				else b[jn[i]]=true;
			}
			if(i==n)break;
		}
		if(k!=mlen+1)cout<<k<<endl;
		else cout<<-1<<endl;
	}

	return 0;
}