시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
2 초 | 512 MB | 0 | 0 | 0 | 0.000% |
Недавно Васе продиктовали номер телефона. Он записал его, разделив числа дефисами, но потом начал сомневаться, не ошибся ли он в записи номера. Ведь бывают различные телефонные номера, которые произносятся одинаково. Например, все четыре номера <<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$ произносятся одним словом.
Помогите Васе найти все телефонные номера, которые произносятся так же, как тот, который он записал.
На входе единственная строка, содержащая номер записанного Васей телефона. Номер телефона --- это целые числа, разделенные символом <<-
>> (ASCII код 39). Каждое число в записи положительно, содержит не более девяти цифр и не содержит ведущих нулей. Гарантируется, что в записанном Васей номере встречается не больше 50 цифр.
В первой строке выведите количество телефонных номеров, которые читаются так же, как и записанный Васей номер. В следующих строках выведите эти номера телефонов. Каждый номер должен находиться в отдельной строке. Каждый номер должен состоять из чисел от 1 до $999\,999\,999$, разделенных дефисами.
Порядок телефонов в ответе не важен. Гарантируется, что количество номеров в ответе не превышает $100\,000$. Учтите, что в ответе могут встречаться и номера, составленные более чем из 50 цифр.
3000-101
4 3000-100-1 3000-101 3100-1 3101