Замок в виде мини-игры
Во многих компьютерных играх взлом замков реализуется в виде мини-игр. В своей игре Поликарп хочет использовать следующую мини-игру.
На экране написаны три целых неотрицательных числа: 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 равна единице.
Ваша задача состоит в том, чтобы по числам на экране сказать, какое минимальное количество нажатий потребуется, чтобы открыть замок, или определить, что это невозможно. Если замок можно открыть, требуется вывести любой оптимальный способ сделать это.
Входные данные
В первой строке заданы три целых неотрицательных числа: a, b, c (0 ≤ a, b, c ≤ 10^9, 1 ≤ a + b + c ≤ 10^9) — числа, которые изначально написаны на экране.
Выходные данные
В первой строке выведите единственное целое число — минимальное количество нажатий, требуемое для открытия замка. Если открыть замок невозможно, выведите -1.
Если замок открыть можно, во второй строке выведите любой оптимальный способ сделать это — строку, состоящую из символов "a", "b", "c", "]", "[" и цифр. Строка должна удовлетворять грамматике (c начальным символом answer):
character ::= a | b | c;
sequence ::= character | character sequence;
block ::= character | number [ sequence ];
answer ::= block | block answer;
Здесь number (1 ≤ number < 10^10) — целое положительное число, записанное без лидирующих нулей.
Обратите внимание, что строка, удовлетворяющая грамматике, не содержит пробелов.
Выведенная строка должна обозначать последовательность нажатий в оптимальном ответе. Блок characterсоответствует нажатию на соответствующую кнопку, блок number [ sequence ] соответствует повторению numberраз последовательности нажатий sequence. Смотрите тестовые примеры для лучшего понимания.