增长的矩形螺旋是一条从原点开始的连通线段序列。第一条线段向右(正 $x$ 方向)。下一条线段向上(正 $y$ 方向)。下一条线段向左(负 $x$ 方向)。下一条线段向下(负 $y$ 方向),以此类推,方向序列循环往复。每条线段的长度均为整数,且每一条线段的长度至少比前一条线段长 1。在下方的螺旋中,线段长度分别为 1, 2, 4, 6, 7, 9, 11, 12, 15, 20。
编写一个程序,确定以给定整数点 $(x, y)$(位于第一象限)为终点的最短增长矩形螺旋(按总长度计算),或者确定不存在这样的螺旋。
输入格式
输入的第一行包含一个整数 $P$ ($1 \le P \le 1000$),表示数据组数。每组数据应独立处理。
每组数据由一行组成,包含三个以空格分隔的十进制整数。第一个整数是数据组编号。接下来的两个整数是目标终点的 $x$ 和 $y$ 坐标 ($1 \le x \le 10000, 1 \le y \le 10000$)。
输出格式
对于每组数据,输出一行。如果不存在螺旋解,则该行包含数据组编号、一个空格和 "NO PATH"(不含引号)。如果存在解,则该行包含数据组编号、一个空格、解中线段的数量、一个空格,随后按顺序输出各线段的长度,以空格分隔。输入数据保证不存在需要超过 22 条线段的路径。
样例
样例输入 1
3 1 1 1 2 3 5 3 8 4
样例输出 1
1 NO PATH 2 2 3 5 3 6 1 2 3 9 10 11