printЗадачи очного тура личного первенства

printB. Лексикографический порядок

Ограничения: время – 1s/2s, память – 64MiB Ввод: input.txt или стандартный ввод Вывод: output.txt или стандартный вывод copy
Послать решение Blockly Посылки Темы Где Обсудить (0)

Список всех чисел от 0 до `999\ 999\ 999` был упорядочен по названиям чисел в английском языке. В результате получился следующий список: `8`, `800`, `808`, `808\ 000\ 000`, …, `0`.
Требуется для заданного числа `N` определить следующее за ним в этом упорядоченном списке.
Названия числительных в английском языке: zero, one, two, three, four, five, six, seven, eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen, eighteen, nineteen, twenty, thirty, forty, fifty, sixty, seventy, eighty, ninety, hundred, thousand, million. Со словом hundred может быть связано только числительное от 1 до 9, т.е. 2500 записывается как "two thousand five hundred", а не "twenty five hundred". Перед словами hundred, thousand, million должно быть указано какое-то числительное, т.е. нужно писать "one million", а не просто "million".
Ввод содержит несколько строк, каждая из которых содержит одно целое число в диапазоне от 1 до `999\ 999\ 999`. Признаком конца ввода служит строка, содержащая число 0.
Для каждого введенного числа (кроме 0) вывести на отдельной строке одно целое число, которое следует за ним в списке лексикографически упорядоченных по названиям чисел.

Пример ввода

8
808
0

Пример вывода

800
808000000
loading