Taaaamara 是塞尔维亚智力竞赛“Slagalica”的忠实粉丝。她最喜欢的游戏是“我的数字”(My Number)。在这个游戏中,你会得到一组整数 $S$ 和一个目标数字 $T$。你可以使用 $S$ 中的每个元素至多一次,通过一些数学运算构建一个等于 $T$ 的有效数学表达式。例如,如果你有 $S = \{2, 5, 2, 15, 10\}$ 且 $T = 38$,一个有效的表达式可以是:$2 * (15 + 5) - 2$。
今天,Taaaamara 正在玩这个游戏的一个变种:
- 她有一个包含 $n$ 个整数的数组 $A$,其中所有元素都是目标数字。
- 她需要找到一个包含 $k$ 个元素的数组 $B$($B$ 中的元素不必互不相同),$B$ 中的所有元素都应是 $[1, 10^8]$ 范围内的整数。
- 她希望为每个目标数字 $A_i$ 构建一个仅使用 $B$ 中元素的有效数学表达式。如果某个元素在 $B$ 中出现了 $x$ 次,那么在每个表达式中,你至多可以使用该元素 $x$ 次。
- 她可以使用以下二元运算符:'+'(加法)、'-'(减法)、'*'(乘法)。不允许使用除法。她也可以使用括号。
- 数组 $B$ 的长度 $k$ 是不固定的,但众所周知 Taaaamara 是个聪明的女孩,所以她希望找到一个长度不超过 12 的数组 $B$($k \le 12$)。
你能帮帮她吗?
输入格式
第一行包含一个整数 $n$ ($1 \le n \le 124$)。第二行包含 $n$ 个整数,即数组 $A$ ($1 \le A_i \le 10^8$)。
输出格式
第一行输出一个整数 $k \le 12$,即数组 $B$ 的长度。第二行输出 $k$ 个整数,即数组 $B$ 的元素。接下来的 $n$ 行,每行包含一个有效的数学表达式,其中第 $i$ 行表达式的值应等于 $A_i$。表达式应符合以下格式:
- 每个表达式最多包含 1000 个字符。
- 两个数字的加法可以使用字符 '+'(ASCII 码 43)。
- 两个数字的减法可以使用字符 '-'(ASCII 码 45)。
- 两个数字的乘法可以使用字符 '*'(ASCII 码 42)。
- 括号可以使用字符 '('(ASCII 码 40)和 ')'(ASCII 码 41)。
- 不允许将运算符 '+' 和 '-' 用作一元运算符。例如,表达式 $5 + 3$ 和 $5 - 3$ 是无效的。
- 除了上述列出的字符外,你只能使用 $B$ 中的数字和空格字符 ' '(ASCII 码 32)。输出不需要特殊格式(参见样例)。
样例
输入格式 1
6 30 13 15 5 3 21
输出格式 1
3 2 5 3 2*5*3 5*3- 2 5 *3 (5) 5 -2 3* (5+2 )