Некоторое
устройство, называемое "Прибавлятель", осуществляет сложение
двух неотрицательных целых чисел А и В, одно из которых, число А,
хранится на ленте, а второе, число В, — в специальном буфере. В процессе
сложения "Прибавлятель" анализирует содержимое ленты и буфера
и вместо числа А формирует на ленте сумму чисел А и В. В
каждый момент времени "Прибавлятель" работает только с одной
из цифр числа на ленте (говорят, что он находится над этой цифрой),
выполняя одну из двух команд: «move» - передвинуться на одну цифру
(позицию на ленте) влево, и «+» - изменить цифру, над которой находится в
данный момент: 1 изменяется на 2; 2 – на 3; 3 – на 4; 4 – на 5; 5 – на 6; 6 –
на 7; 7 – на 8; 8 – на 9; 9 – на 0; 0 – на 1. Если "Прибавлятель"
выполняет команду «move», находясь над самой левой цифрой числа на
ленте, то к этому числу слева приписывается цифра 0, и "Прибавлятель"
оказывается над ней. В исходном состоянии на ленте "Прибавлятеля"
записано число А, а сам "Прибавлятель" находится над
некоторой заданной его цифрой. Цифры числа на ленте нумеруются справа
налево, начиная с 1.
Требуется написать программу, формирующую такую
последовательность команд "Прибавлятеля", после выполнения
которой на ленте окажется число А+В.
Формат входных данных:
В первой строке входного файла содержится число,
напечатанное на ленте (не более 250 знаков). Вторая строка содержит число (не
более 250 знаков), которое нужно прибавить к числу, записанному на ленте.
Третья строка – позиция "Прибавлятеля".
Формат выходных данных:
В выходной файл
записывается последовательность команд "Прибавлятеля". Каждая
команда должна располагаться в отдельной строке. Если последовательность команд
написать невозможно, нужно вывести сообщение «No solution».
Пример файлов входных и
выходных данных:
stdin
|
stdout
|
123456712
12
1
|
+
+
move
+
|