在本题中,我们考虑“一元表达式”,即仅由数字 1 组成,且仅允许使用加法和乘法运算的表达式。在这些表达式中,不会出现两个(或更多)相邻的 1——每两个 1 之间都必须由运算符隔开。我们可以在表达式中使用括号,运算优先级遵循常规规则(乘法优先级高于加法)。
例如,以下每个一元表达式的值均为 6: $(1+1)*(1+1+1)$, $(1+1+1)*(1+1)*1$, $((1+1)+1)*(1+1)$, $1+1+1+1+1+1$, $1+(1+(1+(1+(1+1))))$。
请编写一个程序,对于给定的正整数 $k$ ($k \le 10^9$),输出一个包含不超过 100 个 1 且值为 $k$ 的一元表达式。
一元表达式的正式定义: $1$ 是一个合法的表达式; 如果 $W_1$ 和 $W_2$ 是合法的表达式,则 $W_1+W_2$、$W_1*W_2$、$(W_1+W_2)$ 和 $(W_1*W_2)$ 均为合法的表达式。
输入格式
输入的第一行包含一个整数 $t$ ($1 \le t \le 100$),表示测试用例的数量。接下来的 $t$ 行描述了各个测试用例。第 $i$ 行包含一个整数 $k_i$ ($1 \le k_i \le 10^9$)。
输出格式
你的程序应输出 $t$ 行。如果不存在包含不超过 100 个 1 且值为 $k_i$ 的一元表达式,则在第 $i$ 行输出 NIE。否则,在第 $i$ 行输出任意一个符合条件的表达式。表达式描述中不应包含任何空格。
样例
输入 1
2 6 10
输出 1
(1+1)*(1+1+1) 1+1+1+1+1+1+1+1+1+1