공항 코드
면접 대비시간 제한8초메모리 제한512 MB
공항 이름마다 첫 글자와 모음 뒤 글자를 모아 만든 부호를 k글자로 자를 때, 모든 부호가 서로 다르게 되는 가장 작은 k를 구하고 불가능하면 -1을 출력한다.
문제
JAG 왕국에서는 국내 공항마다 공항 코드를 부여해 식별한다.
공항 코드는 소문자 영어 알파벳으로 표기한 공항 이름을 바탕으로 다음 규칙에 따라 부여된다.
- 이름의 첫 글자와 모음(a, i, u, e, o) 바로 뒤에 오는 글자를 순서대로 뽑는다.
- 뽑은 문자열이
k글자 미만이면 그 문자열을 공항 코드로 쓰고,k글자 이상이면 뽑은 문자열의 앞k글자를 공항 코드로 쓴다.
예를 들어 k = 3일 때 haneda에는 hnd, oookayama에는 ooo, tsu에는 t라는 코드가 부여된다.
그런데 이렇게 코드를 부여하면 이름이 다른 공항에 같은 코드가 부여될 수 있어 혼란을 부른다. 공항 이름 목록이 주어질 때, 모든 공항의 코드가 서로 다르게 되도록 할 수 있는지 판정하고, 가능하면 모든 공항 코드가 서로 다르게 되는 최소 k를 구하며, 불가능하면 그 사실을 알리는 프로그램을 작성하시오.
입력
입력은 100개 이하의 데이터 세트로 이루어진다. 각 데이터 세트는 다음 형식으로 주어진다.
n
s1
...
sn
첫째 줄에 공항의 수 n (2 ≤ n ≤ 50)이 정수로 주어지고, 이어지는 n개 줄에 공항 이름 si가 각각 문자열로 주어진다. 공항 이름은 'a'부터 'z'까지의 소문자 영어 알파벳으로만 이루어지며, 길이는 모두 1 이상 50 이하이다. 또한 주어지는 공항 이름은 모두 다르다. 즉, 1 ≤ i < j ≤ n일 때 si ≠ sj를 만족한다.
입력의 끝은 0 하나만으로 이루어진 줄로 나타낸다.
출력
각 데이터 세트에 대해, 모든 공항에 서로 다른 공항 코드를 부여할 수 있으면 그러한 최소 k를 한 줄에 출력한다. 불가능하면 -1을 한 줄에 출력한다.