Японський комп'ютер#2407

Японський комп'ютер

1 секунда
64 мегабайти
Легка

Японські інженери відомі розробкою великих бойових людиноподібних роботів для прикордонної оборони. Кожен робот керується японським комп'ютером. Щоб максимізувати ефективність роботів, програму комп'ютера необхідно оптимізувати так, щоб вона могла виконати якомога більше програм за найкоротший час.

Наразі японським програмістам доручено завдання (мету якого тут не розголошують, оскільки вона є конфіденційною): спочатку в пам'яті комп'ютера зберігається одне число . Необхідно отримати такі числа в пам'яті: a_1x, a_2x, ..., a_nx. Комп'ютер може виконувати такі операції:

Усі проміжні значення зберігаються в пам'яті і можуть використовуватися для подальших обчислень.

Під час обчислень жодне значення не повинно перевищувати . Гарантується, що дотримання цього обмеження унеможливлює переповнення. Крім того, комп'ютер не працює з від’ємними числами, тому не можна віднімати більше число від меншого.

Порядок появи чисел a_1x, a_2x, ..., a_nx у пам’яті не має значення.

Вхідні дані

У першому рядку задано число — кількість потрібних значень (1 \leq n \leq 41). У другому рядку записано чисел a_i (2 \leq a_i \leq 42). Всі a_i різні. Саме число не задано, тому ваша послідовність операцій має бути коректною для будь-якого .

Вихідні дані

У першому рядку виведіть одне число — мінімальну кількість потрібних операцій. Далі перелічіть потрібні операції у такому форматі:

  • Зсув вліво на біт: a\ll k

  • Додавання і : a+b

  • Віднімання з : b-a

Запис операцій не повинен містити пробілів.

Приклади

Приклад 1

Loading
Loading