阿尔德尼亚(Ardenia)要开战了!阿尔德尼亚著名且享有盛誉的军事单位由 200 名骑士和 200 匹战马组成,他们已经开始为战役做准备。在准备期间,会挑选出 $k$ 名骑士和 $k$ 匹战马(其余的留在军营中),并在某些骑士和某些战马之间建立一种特殊的互信关系。在这种情况下,我们简称为骑士 A 信任战马 B(反之亦然)。一匹战马可以信任任意多名骑士,一名骑士也可以信任任意多匹战马。
对于给定的 $k$ 名骑士和 $k$ 匹战马的队伍,他们之间的信任关系决定了他们愿意参加的战役数量。对于每场战役,每位骑士都会选择一匹他所信任的战马:这构成了一种分配。下图展示了一个包含 4 名骑士($K_1, K_2, K_3$ 和 $K_4$)和 4 匹战马($H_1, H_2, H_3$ 和 $H_4$)及其信任关系的例子。这里共有 3 种不同的可能分配。
两场不同战役的分配必须是不同的(否则骑士们会感到无聊),并且必须尝试所有可能的分配(骑士们非常有好奇心,想要把它们全部测试一遍)。他们的战斗技巧非常高超,这意味着在战争准备期间不会有任何骑士或战马受到伤害。
你的法师预测战争将由 $n$ 场战役组成。你的任务是选择 $k$ 名骑士和 $k$ 匹战马,并在他们之间建立信任关系,使他们恰好能为 $n$ 场战役做好准备。
输入格式
输入包含多组测试数据。
第一行包含一个正整数 $Z \le 100$,表示测试数据的组数。
接下来是 $Z$ 组测试数据。每组测试数据占一行,包含一个整数 $n \in [1, 10^6]$,表示战役的数量。
输出格式
对于每组测试数据:
第一行输出一个正整数 $k \le 200$。
接下来的 $k$ 行,每行包含 $k$ 个二进制数字(0 或 1,中间没有空格),其中第 $i$ 行第 $j$ 列的 1 表示骑士 $i$ 信任战马 $j$(反之亦然)。
这些骑士和战马所能准备的可能战役数量必须恰好为 $n$。
样例
样例输入 1
3 1 3 4
样例输出 1
1 1 4 1000 0110 0101 0111 4 1100 1100 0011 0011