Mousetrap 是一种简单的单人纸牌游戏。游戏使用一副洗好的牌,牌面数字为 $1$ 到 $K$,牌面朝下。 游戏规则如下:翻开牌堆顶部的牌,将其放到牌堆底部,并记录翻牌的次数。如果你翻开的牌面数字与当前的计数相等,则将该牌从牌堆中移除,并将计数重置为 $0$(下一次翻牌计数为 $1$)。 如果计数达到 $K+1$,则游戏失败。如果牌堆中的牌全部被移除,则游戏获胜。
假设你有一副 $5$ 张牌的牌堆,顺序为 $2, 5, 3, 1, 4$。 计数为 $1$ 时翻开 $2$,计数为 $2$ 时翻开 $5$,计数为 $3$ 时翻开 $3$。 由于翻开的牌面数字 $3$ 与计数 $3$ 相等,将 $3$ 从牌堆中移除,并将计数重置。此时牌堆剩余 $4$ 张牌,顺序为 $1, 4, 2, 5$。接着计数为 $1$ 时翻开 $1$,将其移除。以此类推,你将依次移除 $2, 4, 5$,从而获得胜利。
你希望排列一副牌,使得你能赢得游戏,并且移除牌的顺序恰好是 $1, 2, \dots, K$。我们将这种排列方式称为“完美”牌堆。 例如,对于 $4$ 张牌,你可以将牌堆排列为 $1, 4, 2, 3$,这样你就能按 $1, 2, 3, 4$ 的顺序移除牌并获胜。
输入格式
输入的第一行包含测试用例的数量 $T$。 每个测试用例的第一行包含一个整数 $K$,表示牌堆中牌的数量。 下一行以一个整数 $n$ 开头,随后是 $n$ 个整数 $(d_1, d_2, \dots)$,表示牌堆中的索引位置。
输出格式
对于每个测试用例,输出一行 "Case #$x$: ",后跟 $n$ 个整数 $(k_1, k_2, \dots)$,其中 $k_i$ 是大小为 $K$ 的完美牌堆中索引为 $d_i$ 的牌的数值。 输出中的数字应以空格分隔,且每个 "Case #$x$:" 行的冒号后必须至少有一个空格。
数据范围
小数据集(测试集 1 - 可见;15 分)
$T = 100$ $1 \le K \le 5000$ $1 \le n \le 100$ $1 \le d_i \le K$
大数据集(测试集 2 - 隐藏;35 分)
$T = 10$ $1 \le K \le 1000000$ $1 \le n \le 100$ $1 \le d_i \le K$
样例
样例输入 1
2 5 5 1 2 3 4 5 15 4 3 4 7 10
样例输出 1
Case #1: 1 3 2 5 4 Case #2: 2 8 13 4