eolymp
bolt
Try our new interface for solving problems
Məsələlər

Замок в виде мини-игры

Замок в виде мини-игры

Zaman məhdudiyyəti 1 saniyə
Yaddaşı istafadə məhdudiyyəti 256 MiB

Во многих компьютерных играх взлом замков реализуется в виде мини-игр. В своей игре Поликарп хочет использовать следующую мини-игру.

На экране написаны три целых неотрицательных числа: a, b, c. Также есть три кнопки "a", "b", "c".

  • Кнопка "a": прибавляет к числу a единицу, а из чисел b и c вычитает единицу. Эту кнопку можно нажать, только если числа b и c строго больше нуля.

  • Кнопка "b": прибавляет к числу b единицу, а из чисел a и c вычитает единицу. Эту кнопку можно нажать, только если числа a и c строго больше нуля.

  • Кнопка "c": прибавляет к числу c единицу, а из чисел a и b вычитает единицу. Эту кнопку можно нажать, только если числа a и b строго больше нуля.

Замок считается открытым, если после некоторой (возможно, пустой) последовательности нажатий на кнопки сумма чисел a, b и c равна единице.

Ваша задача состоит в том, чтобы по числам на экране сказать, какое минимальное количество нажатий потребуется, чтобы открыть замок, или определить, что это невозможно. Если замок можно открыть, требуется вывести любой оптимальный способ сделать это.

Giriş verilənləri

В первой строке заданы три целых неотрицательных числа: a, b, c (0a, b, c10^9, 1a + b + c10^9) — числа, которые изначально написаны на экране.

Çıxış verilənləri

В первой строке выведите единственное целое число — минимальное количество нажатий, требуемое для открытия замка. Если открыть замок невозможно, выведите -1.

Если замок открыть можно, во второй строке выведите любой оптимальный способ сделать это — строку, состоящую из символов "a", "b", "c", "]", "[" и цифр. Строка должна удовлетворять грамматике (c начальным символом answer):

character ::= a | b | c;

sequence ::= character | character sequence;

block ::= character | number [ sequence ];

answer ::= block | block answer;

Здесь number (1number < 10^10) — целое положительное число, записанное без лидирующих нулей.

Обратите внимание, что строка, удовлетворяющая грамматике, не содержит пробелов.

Выведенная строка должна обозначать последовательность нажатий в оптимальном ответе. Блок characterсоответствует нажатию на соответствующую кнопку, блок number [ sequence ] соответствует повторению numberраз последовательности нажатий sequence. Смотрите тестовые примеры для лучшего понимания.

Nümunə

Giriş verilənləri #1
1 1 0
Çıxış verilənləri #1
1
c
Mənbə Winter School Kharkov 2013, Day 6 - G.Agapov and I.Fefer