АВТ
Язык:

Дистанционный практикум по программированию

Задачи Online статус Соревнования
Новости Справка СДО
 
Здравствуйте, Гость! Войдите с паролем или зарегистрируйтесь.

992. Римские числа

Ограничение времени: 1 сек.
Ограничение памяти:65536 КБайт
Баллы:100
Статистика Послать на проверку Задачу добавил debug

Как известно, римские числа записываются знаками (цифрами): «I», «V», «X», «L», «C», «D» и «M». «Вес» этих знаков, соответственно, равен 1, 5, 10, 50, 100, 500 и 1000.

Для вычисления значения римского числа будем использовать следующий алгоритм:

1.     Если запись римского числа есть пустая строка, то число считается равным 0, иначе выполняем пункты 2-6.

2.     В записи числа найдем самую значащую (самую большую по весу) цифру; если таких цифр несколько, то возьмем самую левую из них. Пусть найденная цифра стоит в позиции i.

3.     Обозначим через Main вес цифры, стоящей в позиции i.

4.     По правилам 1-6 вычислим величину римского числа, образованного только цифрами, стоящими правее i. Обозначим эту величину как Right.

5.     По правилам 1-6 вычислим величину римского числа, образованного только цифрами, стоящими левее i. Обозначим эту величину как Left.

6.     Определим величину всего римского числа как Main + RightLeft.

Очевидно, что если использовать данный алгоритм, то одно и тоже число n можно записать множеством способов. Например, число n=19 можно записать как «IXX», «XIX», «XVIV», «XVIIII» и так далее.

Напишите программу, которая по заданной строке римских цифр S, определит, можно ли, используя все эти цифры (с учетом их кратности), построить римскую запись числа n.


Ограничения

В строке S используется не более 50 римских цифр.

–50000 <= n <= 50000.


Входные данные

Первая строка входного файла содержит целое десятичное число n. Вторая строка входного файла содержит строку римских цифр S.


Выходные данные

Единственная строка выходного файла должна содержать римскую запись десятичного числа n из римских цифр строки S или слово «NO» (без кавычек), если римская запись не существует.


Примеры

Input

Output

16

XXVI

XVXI

 

Input

Output

15

XXVI

NO

 


Статистика Послать на проверку Обсуждение задачи Автор/источник:
Задачи с соревнований и сборов / Чемпионат мира по программированию (ICPC) / Рыбинск-2011 /
991. C - Сортировка по сумме цифр 992. 993. E - Символ и его тень 994. F - Магический_квадрат 995. G - ГЛОНАСС
Задачи с соревнований и сборов / Чемпионат мира по программированию (ICPC) / Школьники-Рыбинск-2011 /
990. B - (Не?) такая простая задача 992. 993. D - Символ и его тень 994. E - Магический_квадрат 1000. F - Угадайка
 
время генерации 0.125 сек.
© Copyright ВоГУ, АВТ, Носов Д.А., Андрианов И.А.