에스토니아어 수사 정렬
시간 제한1초메모리 제한1024 MB
에스토니아어 수사로 적힌 정수 N개를 값으로 변환한 뒤 작은 수부터 오름차순으로 정렬합니다.
문제
때로는 데이터가 처리하기 편한 형태로 주어지지 않는다. 사람이 글이나 말로 적은 값을 다뤄야 한다면 어떻게 해야 할까? 이 문제는 에스토니아어로 적은 정수를 정렬한다.
수를 변환하려면 철자법을 조금 알아야 한다. 기본 규칙은 다음과 같다.
- '-teist', '-kümmend', '-sada'로 끝나는 말은 앞의 수사와 붙여 쓴다. 나머지 수사는 모두 띄어 쓴다(에스토니아어 참고서의 규칙이다).
- 수는 보통 자릿수가 큰 순서대로 내림차순으로 쓴다(, , , ). 어떤 자리에 만 있으면 그 자릿수는 쓰지 않는다.
- 자릿수는 단위로 묶는다(, , , ). 각 묶음의 단위 이름('miljon', 'tuhat')은 한 번만 쓴다.
아래 표는 주어진 범위의 에스토니아어 수를 읽는 데 충분하다. 같은 수를 두 가지 형태로 쓸 수 있으면 쉼표로 구분했다. 실제로는 다른 병행형도 쓰이지만, 이 문제에서는 아래 형태만 사용한다.
입력
첫 줄에는 정렬할 값의 개수 이 주어진다(). 다음 개 줄에는 각각 위 규칙에 따라 단어로 완전히 적힌 정수가 하나씩 주어진다. 입력에서는 모든 글자 ü가 u로 바뀌어 있다. 각 줄의 값 는 32비트 부호 있는 정수 범위 안에 있다().
출력
단어로 적힌 수를 비내림차순으로 정렬하여 한 줄에 하나씩 출력한다. 각 출력 줄은 입력에서 대응하는 줄과 정확히 같아야 한다. 값이 같은 줄은 어떤 순서로 나와도 된다.