소네트

각 시에서 마지막 강세 음절 뒤의 모음열을 뽑아내고, 처음 나온 순서대로 A, B, C를 붙여 각 연의 각운 표기를 만든다.

보통4문자열해시맵구현시뮬레이션아직 제출이 없습니다시간 제한2초메모리 제한512 MB

문제

셰익스피어는 100편이 넘는 소네트를 남겼다. 소네트를 다른 시와 구분하는 것은 라임 구성과 운율이다. 소네트는 보통 약강 5보격으로 쓰고, 셰익스피어의 소네트는 "ABAB CDCD EFEF GG"라는 라임 구성으로 알려져 있다. 첫째 행이 셋째 행과 라임을 이루고, 둘째 행이 넷째 행과 라임을 이루고, 다섯째 행이 일곱째 행과 라임을 이루는 식이다. 이 문제에서 운율은 무시하고 라임 구성만 따진다.

시를 분석해야 한다. 계산을 줄이도록 음절과 강세 정보는 이미 표시해 준다. 음절은 하이픈으로 나누며, 하이픈은 다른 용도로 쓰지 않는다. 강세가 있는 음절은 전부 대문자로, 나머지 음절은 전부 소문자로 적는다. 문장 첫머리라도 소문자로 적는다. 영어는 철자만으로 발음을 알기 어려우므로 라임 판정을 다음과 같이 단순화한다. 각 행에서 마지막으로 강세가 있는 음절과 그 뒤에 오는 강세 없는 음절 0개 이상을 함께 모은다. 모은 음절에 나오는 모음 'a', 'e', 'i', 'o', 'u', 'y'를 순서대로 이어 붙인다. 두 행의 이 모음 나열이 완전히 같으면 두 행은 라임을 이룬다.

첫째 행에는 A를 붙이고, 첫째 행과 라임을 이루는 행에도 모두 A를 붙인다. 첫째 행과 라임을 이루지 않는 첫 행에는 B를 붙이고, 그 행과 라임을 이루는 행에도 모두 B를 붙인다. 이런 식으로 이어 간다. 빈 행은 라임 구성에서 공백 한 칸이 된다.

입력

첫 줄에 데이터 집합의 개수 KK가 주어진다. 이어서 KK개의 데이터 집합이 다음 형식으로 주어진다.

각 데이터 집합의 첫 줄에는 시의 행 수 nn (1n261 \le n \le 26)이 주어진다. 그다음 nn개의 줄에 시가 주어진다. 각 줄은 대문자와 소문자 알파벳, 음절을 나누는 하이픈, 단어를 나누는 공백, 역시 단어를 나누는 문장 부호 '.', ',', ':', ';'로 이루어진다. 공백과 문장 부호는 단어를 나누므로 음절도 나눈다. 한 음절의 길이는 최대 6이고, 한 줄의 길이는 최대 100이다. 비어 있지 않은 행에는 강세가 있는 음절이 적어도 하나 있다.

출력

각 데이터 집합마다 먼저 "Data Set x:"를 한 줄에 출력한다. xx는 그 데이터 집합의 번호다. 다음 줄에 라임 구성을 출력한다. 각 데이터 집합 뒤에는 빈 줄을 하나 출력한다.