A lock in the form of a mini-game
In many computer games, lock picking is represented as mini-games. Polycarp has designed a mini-game for his game with the following rules:
On the screen, you will see three non-negative integers: a, b, and c. Additionally, there are three buttons labeled "a", "b", and "c".
Button "a": Increases the number a by one and decreases the numbers b and c by one each. This button can only be pressed if both b and c are greater than zero.
Button "b": Increases the number b by one and decreases the numbers a and c by one each. This button can only be pressed if both a and c are greater than zero.
Button "c": Increases the number c by one and decreases the numbers a and b by one each. This button can only be pressed if both a and b are greater than zero.
The lock is considered open if, after a sequence of button presses (which can be empty), the sum of a, b, and c equals one.
Your task is to determine the minimum number of button presses required to open the lock, or to determine if it is impossible. If the lock can be opened, you should provide any optimal sequence of presses to achieve this.
Input
The first line contains three non-negative integers: a, b, c (0 ≤ a, b, c ≤ 10^9, 1 ≤ a + b + c ≤ 10^9) — the initial numbers displayed on the screen.
Output
On the first line, output a single integer — the minimum number of presses needed to open the lock. If it is impossible to open the lock, output -1.
If the lock can be opened, on the second line, output any optimal sequence of presses — a string consisting of the characters "a", "b", "c", "]", "[" and digits. The string must follow the grammar (with the initial symbol answer):
character ::= a | b | c;
sequence ::= character | character sequence;
block ::= character | number [ sequence ];
answer ::= block | block answer;
Here, number (1 ≤ number < 10^10) is a positive integer written without leading zeros.
Note that a string following the grammar does not contain spaces.
The output string should represent the sequence of presses in the optimal solution. The block character corresponds to pressing the respective button, and the block number [ sequence ] corresponds to repeating the sequence of presses number times. Refer to the test examples for further clarification.