你将在一个二维平面上进行游戏。初始时,在所有满足 $-100 \le x \le 100$ 且 $-100 \le y \le 0$ 的格点 $(x, y)$ 上各放置一枚棋子。
你可以执行零次或多次以下操作:
- 选择两个点 $(a, b)$ 和 $(c, d)$,满足 $|a - c| + |b - d| = 1$。将位于 $(a, b)$ 的一枚棋子绕 $(c, d)$ 顺时针或逆时针旋转 90 度,并移除位于 $(c, d)$ 的一枚棋子。
你的目标是执行一系列操作,使得操作结束后,至少有一枚棋子位于 $y$ 坐标至少为 $N$ 的点上。确定是否可以达到该目标,如果可以,请构造出一组操作序列。
你共有 $T$ 组测试数据。请依次解决每组测试数据。
数据范围
- $1 \le T \le 6$
- $1 \le N \le 6$
输入格式
输入通过标准输入按以下格式给出:
$T$ $case_1$ $case_2$ $\vdots$ $case_T$
其中 $case_i$ 表示第 $i$ 组测试数据。每组测试数据按以下格式给出:
$N$
输出格式
对于每组测试数据,按顺序输出结果,并以换行符分隔。
对于每组测试数据,如果无法达到目标,输出 -1。否则,首先输出操作次数 $K$,随后输出 $K$ 行描述操作。对于第 $i$ 次操作,当将位于 $(a_i, b_i)$ 的棋子绕 $(c_i, d_i)$ 旋转 90 度移动到 $(e_i, f_i)$ 时,输出格式如下:
$K$ $a_1 \ b_1 \ c_1 \ d_1 \ e_1 \ f_1$ $a_2 \ b_2 \ c_2 \ d_2 \ e_2 \ f_2$ $\vdots$ $a_K \ b_K \ c_K \ d_K \ e_K \ f_K$
样例
样例输入 1
1 1
样例输出 1
1 1 0 0 0 0 1
说明
在第一次操作中,位于 $(1, 0)$ 的棋子绕 $(0, 0)$ 顺时针旋转 90 度并放置在 $(0, 1)$。该操作使得棋子被放置在点 $(0, 1)$,其 $y$ 坐标至少为 1,从而达到了目标。