Телевизор
Есть такая работа - кнопочки нажимать
Девочка Настя является счастливой обладательницей телевизора, который показывает 100 различных каналов, которые пронумерованы целыми числами от 0 до 99. Используя пульт дистанционного управления, на котором есть 10 кнопок с номерами от 0 до 9, Настя может переключать каналы. Пульт управления может также находится в режиме А или в режиме Б. В режиме А номер переключаемого канала задаётся одним нажатием кнопки с десятичной цифрой. В режиме Б номер переключаемого канала задаётся двумя нажатиями кнопок (например, "0", а затем "5" переключает на 5-й канал). После нажатия на кнопку "-" Настя переключится на канал с номером, меньшим на единицу (если текущим был нулевой канал, Настя переключится на 99 канал), нажатие на кнопку "+" совершает обратное действие по сравнением с нажатием на кнопку "-". Одно нажатие на кнопку "S" переводит пульт в режим Б, если текущим был режим А, и в режим А, если текущим был режим Б. В начальный момент времени телевизор показывает нулевой канал, и пульт находится в режиме А.
Изучив программу передач на год(!), Настя составила список каналов, которые она хочет посмотреть. Так как список получился очень длинным, а пульт не очень новый, Настя хочет минимизировать количество нажатий на кнопки. Помогите ей в этом нелегком деле. Заметим, что Насте требуется посмотреть каналы именно в том порядке, в каком они записаны.
Входные данные
Первая строка ввода содержит одно положительное целое число n - количество каналов в списке (1 ≤ n ≤ 100000). Вторая строка содержит n целых чисел - последовательность каналов, которые хочет посмотреть Настя. Соседние числа в последовтельности разделены одним пробелом. Номера каналов во входном файле неотрицательны и не превосходят 99.
Выходные данные
В первой строке выведите целое число m - минимальное количество нажатий, необходимых для просмотра указанного списка каналов. Во второй строке выведите m символов, описывающих оптимальные нажатия кнопок. Если решений несколько, выведите любое из них.