去年,你们的队伍没能帮到 Codefalser Suzukaze AK 题目集。因此,Suzukaze 决定退役,并像 pittoresque 一样成为了一名农民,因为他想拥有一座农场。Suzukaze 非常喜欢橙子,所以他决定春天只在农场里种橙子树。下周冬天就要来了!Suzukaze 计划在农场里走一圈来收获他最爱的水果。然而,作为一个健忘的农民,Suzukaze 忘记了他农场的布局。幸运的是,作为一个细心的程序员,Suzukaze 在电脑里以函数的形式存储了农场的布局,以防陷入这种绝望的境地。
农场可以建模为一个包含 $n$ 个顶点的图,其中顶点代表橙子树,图中的边可以由函数 $f$ 推导得出:
$$f(i, j) = \begin{cases} 0 & i = j \\ ((i^p)^{j^q} \pmod{10^9 + 7}) \pmod 2 & i < j \\ 1 - f(j, i) & i > j \end{cases}$$
其中 $i$ 和 $j$ 是顶点的编号 ($1 \le i, j \le n$),$p$ 和 $q$ 是小于 $10^9 + 7$ 的非负整数。如果 $f(i, j) = 1$,则存在一条从 $i$ 到 $j$ 的有向边。
作为一个懒惰的农民,Suzukaze 想要找到一条能够恰好访问每棵橙子树一次的路径。你能帮他找到这条路径,以补偿你去年犯下的错误吗?
输入格式
第一行包含三个整数 $n, p$ 和 $q$ ($1 \le n \le 10^5, 0 \le p, q < 10^9 + 7, p$ 和 $q$ 不能同时为 $0$),分别代表橙子树的数量和函数的参数。你可以假设橙子树的编号为 $1, \dots, n$。
输出格式
如果路径存在,按照样例所示,输出从起点到终点的路径上的顶点。任何满足 Suzukaze 要求的路径都将被接受。否则,输出 -1,这意味着你再次辜负了 Suzukaze 的请求。
样例
样例输入 1
6 1 1
样例输出 1
1 3 5 6 4 2
说明
路径 $1 \to 3 \to 5 \to 6 \to 4 \to 2$ 满足样例中 Suzukaze 的要求。