Mancala 是一类在世界各地流行的棋盘游戏,有时被称为播棋(sowing games)或计数与捕获(count-and-capture)游戏,这描述了游戏的玩法。一个简单的变体是名为 Tchoukaillon 的单人游戏,由 Véronique Gautheron 描述。Tchoukaillon 在一个棋盘上进行,棋盘上有任意数量的编号为 $1, 2, \dots$ 的格子,分别包含 $b[1], b[2], \dots$ 个棋子,左侧有一个额外的空槽,称为 Roumba。
单次操作包括选择一个格子 $n$,使得 $b[n] = n$(如上图中深色圆圈所示),并将该格子中的棋子逐个分发到左侧的格子中,包括 Roumba(如上图所示,得到下一张图)。如果没有格子满足 $b[n] = n$,则该棋盘为失败棋盘。
如果存在一系列操作,可以将初始棋盘分布变为每个棋子都在 Roumba 中的状态,则该初始分布称为可赢棋盘。在上面的例子中,$0, 1, 3, \dots$ 是一个可赢棋盘(“...”表示编号大于 $3$ 的所有格子包含 $0$ 个棋子)。对于每个总棋子数,存在唯一的棋子分布使得棋盘可赢(因此 $0, 1, 3, \dots$ 是唯一具有 $4$ 个棋子的可赢棋盘)。
编写一个程序,找出给定总棋子数对应的可赢棋盘。
输入格式
输入的第一行包含一个整数 $P$ ($1 \le P \le 1000$),表示随后数据组的数量。每组数据应独立处理。
每组数据由单行输入组成。它包含数据组编号 $K$,后跟一个空格,再后跟要查找的可赢棋盘的总棋子数 $N$ ($1 \le N \le 2000$)。
输出格式
对于每组数据,输出多行。输出的第一行包含数据组编号 $K$,后跟一个空格,再后跟最后一个非零棋子数的格子索引 $B$。输入保证 $B$ 不会超过 $80$。对于每组数据,输出的后续行包含格子计数 $b[1], b[2], \dots, b[B]$,每行 $10$ 个,以单个空格分隔。
样例
样例输入 1
3 1 4 2 57 3 500
样例输出 1
1 3 0 1 3 2 12 1 2 2 2 2 6 2 4 6 8 10 12 3 39 0 2 2 1 3 2 2 2 6 7 5 0 6 12 2 6 10 14 18 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39