eolymp
bolt
Try our new interface for solving problems
Problems

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

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

Во многих компьютерных играх взлом замков реализуется в виде мини-игр. В своей игре Поликарп хочет использовать следующую мини-игру. На экране написаны три целых неотрицательных числа: \textbf{a}, \textbf{b}, \textbf{c}. Также есть три кнопки "\textbf{a}", "\textbf{b}", "\textbf{c}". \begin{itemize} \item Кнопка "\textbf{a}": прибавляет к числу \textbf{a} единицу, а из чисел \textbf{b} и \textbf{c} вычитает единицу. Эту кнопку можно нажать, только если числа \textbf{b} и \textbf{c} строго больше нуля. \item Кнопка "\textbf{b}": прибавляет к числу \textbf{b} единицу, а из чисел \textbf{a} и \textbf{c} вычитает единицу. Эту кнопку можно нажать, только если числа \textbf{a} и \textbf{c} строго больше нуля. \item Кнопка "\textbf{c}": прибавляет к числу \textbf{c} единицу, а из чисел \textbf{a} и \textbf{b} вычитает единицу. Эту кнопку можно нажать, только если числа \textbf{a} и \textbf{b} строго больше нуля. \end{itemize} Замок считается открытым, если после некоторой (возможно, пустой) последовательности нажатий на кнопки сумма чисел \textbf{a}, \textbf{b} и \textbf{c} равна единице. Ваша задача состоит в том, чтобы по числам на экране сказать, какое минимальное количество нажатий потребуется, чтобы открыть замок, или определить, что это невозможно. Если замок можно открыть, требуется вывести любой оптимальный способ сделать это. \InputFile В первой строке заданы три целых неотрицательных числа: \textbf{a}, \textbf{b}, \textbf{c} (\textbf{0} ≤ \textbf{a}, \textbf{b}, \textbf{c} ≤ \textbf{10^9}, \textbf{1} ≤ \textbf{a + b + c} ≤ \textbf{10^9}) --- числа, которые изначально написаны на экране. \OutputFile В первой строке выведите единственное целое число --- минимальное количество нажатий, требуемое для открытия замка. Если открыть замок невозможно, выведите \textbf{-1}. Если замок открыть можно, во второй строке выведите любой оптимальный способ сделать это --- строку, состоящую из символов "\textbf{a}", "\textbf{b}", "\textbf{c}", "\textbf{\]}", "\textbf{\[}" и цифр. Строка должна удовлетворять грамматике (c начальным символом \textbf{answer}): \textbf{character ::= a | b | c;} \textbf{sequence ::= character | character sequence;} \textbf{block ::= character | number \[ sequence \];} \textbf{answer ::= block | block answer;} Здесь \textbf{number} (\textbf{1} ≤ \textbf{numbe}r < \textbf{10^10}) --- целое положительное число, записанное без лидирующих нулей. Обратите внимание, что строка, удовлетворяющая грамматике, не содержит пробелов. Выведенная строка должна обозначать последовательность нажатий в оптимальном ответе. Блок \textbf{character}соответствует нажатию на соответствующую кнопку, блок \textbf{number \[ sequence \]} соответствует повторению \textbf{number}раз последовательности нажатий \textbf{sequence}. Смотрите тестовые примеры для лучшего понимания.
Time limit 1 second
Memory limit 256 MiB
Input example #1
1 1 0
Output example #1
1
c
Source Winter School Kharkov 2013, Day 6 - G.Agapov and I.Fefer