\begin{problem}{Телефонный номер}{hear.in}{hear.out}{2 секунды}{256 мегабайт}

%Автор задачи: Михаил Дворкин
%Автор условия: Евгений Курпилянский

%Произнесли вслух подряд несколько (не больше 10?) чисел от 1 до $10^9 - 1$
%Записана последовательность чисел, которую услышал Петя
%Вывести все последовательности, которые могли быть произнесены

Недавно Васе продиктовали номер телефона. 
Он записал его, разделив числа дефисами, но потом начал сомневаться, 
не ошибся ли он в записи номера.
Ведь бывают различные телефонные номера, которые произносятся одинаково.
Например, все четыре номера <<3000-100-1>>, <<3000-101>>, <<3100-1>>, <<3101>>
читаются как <<три тысячи сто один>>. Теперь он хочет выяснить, какие
номера произносятся также, как и записанный им номер.

Вася считает, что при произношении телефонного номера не употребляются
числа, состоящие более чем из девяти цифр. 
Напомним, как произносятся числа от $1$ до $999\,999\,999$.

Если число больше или равно $1\,000\,000$, то сначала произносится число миллионов 
в мужском роде, затем слово <<миллион>>,
<<миллиона>> или <<миллионов>>, по следующим правилам.
Если число миллионов, взятое по модулю 100, не равно 11 и дает
остаток 1 по модулю 10, то произносится слово <<миллион>>.
Если число миллионов, взятое по модулю 100, не равно 12, 13 или 14 и дает
остаток 2, 3 или 4 по модулю 10, то произносится слово <<миллиона>>.
Иначе произносится слово <<миллионов>>.

Если число по модулю  $1\,000\,000$ больше или равно $1\,000$, то затем 
произносится число тысяч в женском роде, затем слово 
<<тысяча>>, <<тысячи>> или <<тысяч>>, по следующим правилам.
Если число тысяч, взятое по модулю 100, не равно 11 и дает
остаток 1 по модулю 10, то произносится слово <<тысяча>>.
Если число тысяч, взятое по модулю 100, не равно 12, 13 или 14 и дает
остаток 2, 3 или 4 по модулю 10, то произносится слово <<тысячи>>.
Иначе произносится слово <<тысяч>>.

Затем, если число по модулю 1\,000 отлично от нуля,
 в мужском роде произносится число единиц.

Например, число $978\,121\,014$ произносится как 
<<девятьсот семьдесят восемь миллионов сто двадцать одна тысяча четырнадцать>>,
а число $1\,000\,142$ как <<один миллион сто сорок два>>. Заметим, что перед
словом <<миллион>> нельзя опускать слово <<один>>, перед словом <<тысяча>> слово <<одна>>,
а числа от $11$ до $19$ произносятся одним словом.

Помогите Васе найти все телефонные номера, которые произносятся так же, как
тот, который он записал.

\InputFile
На входе единственная строка, содержащая номер записанного Васей телефона.
Номер телефона~--- это целые числа, разделенные символом <<\texttt{-}>> (ASCII код 39).
Каждое число в записи положительно, содержит не более девяти цифр и не содержит
ведущих нулей. Гарантируется, что в записанном Васей номере встречается не больше
50 цифр.

\OutputFile

В первой строке выведите количество телефонных номеров, которые читаются так же, как
и записанный Васей номер. В следующих строках выведите эти номера телефонов.
Каждый номер должен находиться в отдельной строке. Каждый номер должен
состоять из чисел от 1 до $999\,999\,999$, разделенных дефисами.

Порядок телефонов в ответе не важен. Гарантируется, что количество
номеров в ответе не превышает $100\,000$. 
Учтите, что в ответе могут встречаться и номера, составленные более чем из 50 цифр.

\Example

\begin{example}%
\exmp{
3000-101
}{
4
3000-100-1
3000-101
3100-1
3101
}%
\end{example}

\end{problem}
