전화번호 읽기 (스몰)

주어진 길이대로 숫자 문자열을 끊고 같은 숫자가 이어지는 구간을 개수 단어와 숫자 이름으로 읽습니다.

쉬움2시뮬레이션문자열구현아직 제출이 없습니다시간 제한5초메모리 제한512 MB

문제

전화번호는 숫자로만 이루어진 문자열이다. 이 번호를 소리 내어 읽으려면 먼저 자릿수를 연속된 그룹으로 나누고, 그룹을 왼쪽에서 오른쪽으로 읽는다.

한 그룹 안에서 같은 숫자가 이어지는 최대 구간은 숫자 이름 앞에 개수를 나타내는 단어를 붙여 읽는다.

  • 1개: 숫자 이름만 읽는다
  • 2개: double
  • 3개: triple
  • 4개: quadruple
  • 5개: quintuple
  • 6개: sextuple
  • 7개: septuple
  • 8개: octuple
  • 9개: nonuple
  • 10개: decuple

같은 숫자가 10개를 넘게 이어지면 개수 단어를 쓰지 않고 한 자리씩 따로 읽는다. 구간은 그룹 경계를 넘지 않는다. 그래서 같은 번호라도 나누는 방법이 다르면 읽는 문장이 달라진다.

숫자 이름은 zero, one, two, three, four, five, six, seven, eight, nine이다.

15012233444를 150 1223 3444로 나누면 one five zero one double two three three triple four로 읽는다. 같은 번호를 150 122 33444로 나누면 one five zero one double two double three triple four로 읽는다.

전화번호와 각 번호를 나누는 방법이 주어진다. 읽는 방법을 출력하라.

입력

첫 줄에 테스트 케이스의 수 TT가 주어진다.

이어지는 TT개의 줄에는 전화번호 NN과 나누는 형식 FF가 공백 하나로 구분되어 주어진다. NN은 숫자로만 이루어진 문자열이다. FF는 하이픈(-)으로 구분된 하나 이상의 양의 정수이고, 앞자리 0 없이 쓴다. 이 정수는 순서대로 각 그룹의 길이를 뜻하며, 합은 NN의 자릿수와 같다.

  • 1T1001 \le T \le 100
  • 11 \le (NN의 길이) 100\le 100

출력

각 테스트 케이스마다 Case #x: y 형식으로 한 줄씩 출력한다. xx는 1부터 세는 테스트 케이스 번호이고, yy는 읽는 문장이다. 문장의 단어는 공백 하나로 구분한다.