ENG  RUSTimus Online Judge
Online Judge
Задачи
Авторы
Соревнования
О системе
Часто задаваемые вопросы
Новости сайта
Форум
Ссылки
Архив задач
Отправить на проверку
Состояние проверки
Руководство
Регистрация
Исправить данные
Рейтинг авторов
Текущее соревнование
Расписание
Прошедшие соревнования
Правила

1059. Выражение

Ограничение времени: 1.0 секунды
Ограничение памяти: 64 МБ
Петра попросили вычислить значение многочлена степени N, зная его коэффициенты и значение аргумента x.
У Петра есть калькулятор, работающий в режиме обратной польской записи, способный складывать и умножать числа любой длины. Помогите Петру найти правильную и в то же время самую короткую последовательность операций работы с этим калькулятором, вычисляющую значение многочлена при любых значениях коэффициентов и аргумента x.
Выражение, записанное в режиме обратной польской записи, состоит из операндов и знаков операций; причем операнды всегда предшествуют знаку операции. Скобки опускаются, поскольку значение и без них однозначно вычисляется по следующему алгоритму:
  1. Если выражение состоит только из одного операнда, то значением выражения является значение этого операнда.
  2. Иначе:
    • найдите в выражении первый слева знак операции
    • выполните эту операцию с теми двумя операндами, которые стоят слева от этого знака
    • запишите результат операции вместо двух операндов и знака операции
    • повторите шаги 1-2
  3. Если на каком-то шаге не получается применить правила 1-2, то исходное выражение было некорректным.
Например, выражение «a b c d + * e + /», записанное в обратной польской записи, в обычном виде записывается как «a / (b * (c + d) + e)».

Исходные данные

В единственной строке записано целое число N – степень многочлена (1 ≤ N ≤ 1000).

Результат

Выведите последовательность минимальной длины, соответствующую многочлену степени N в обратной польской записи. Многочлен имеет вид a0xN+a1xN−1 + … aN. В последовательность должны входить только знаки операций «+» и «*», заглавная латинская буква «X» и неотрицательные целые числа, задающие номера коэффициентов многочлена (коэффициент ai обозначается просто числом i).
Каждый элемент последовательности (знак операции, символ «X», номер коэффициента) должен быть записан в отдельной строке.

Пример

исходные данныерезультат
1
0
X
*
1
+
Источник задачи: Rybinsk State Avia Academy