Aidos 和 Tima 正在一个 $N \times M$ 的表格上玩一个有趣的游戏。他们有无限多红、蓝两种颜色的棋子。他们想要填满整个表格,使得每个格子恰好包含一个棋子。
Aidos 喜欢那些红棋子数量严格多于蓝棋子数量的行。记这样的行数为 $A$。
Tima 喜欢那些蓝棋子数量严格多于红棋子数量的列。记这样的列数为 $B$。
由于他们只有一个表格,他们决定不互相干扰,并以使得 Aidos 喜欢的行数与 Tima 喜欢的列数之和尽可能大的方式填满表格。
形式化地说,他们试图最大化表达式 $A + B$ 的值。
请帮助他们填满这个表格。
输入格式
第一行包含一个整数 $T$ ($1 \le T \le 1000$),表示测试用例的数量。
接下来的 $T$ 行,每行包含两个整数 $N, M$ ($1 \le N, M \le 1000$)。保证所有测试用例中 $N \cdot M$ 的总和不超过 $10^6$。
输出格式
对于每个测试用例,输出 $N + 1$ 行。第一行输出 $A + B$ 的最大值。接下来的 $N$ 行,每行输出 $M$ 个字符('+' 表示红棋子,'-' 表示蓝棋子)。如果存在多种方案,输出其中任意一种即可。
子任务
本题包含六个子任务:
- $1 \le T \le 16, 1 \le N, M \le 4$。分值 17 分。
- $1 \le T \le 1000, 1 \le N, M \le 50, \min(N, M) \le 3$。分值 10 分。
- $1 \le T \le 1000, 1 \le N, M \le 50, \min(N, M) \le 5$。分值 16 分。
- $1 \le T \le 1000, 1 \le N, M \le 1000$,$N$ 和 $M$ 均为奇数。分值 11 分。
- $1 \le T \le 1000, 1 \le N, M \le 1000, N = M$。分值 15 分。
- $1 \le T \le 1000, 1 \le N, M \le 1000$。分值 31 分。
样例
样例输入 1
2 1 3 3 3
样例输出 1
3 --- 4 +-+ +-+ +++