小红的方神题
题号:NC294405
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}对于数组 a,我们定义它的退化状态为:取每个相邻两数之差的绝对值构成的新数组。换句话说,退化后的 a 数组是一个长度为 {\rm len}(a)-1 的数组,其第 i 个元素为 \lvert a_i - a_{i+1} \rvert
\hspace{15pt}TRfirst 希望小红构造一个长度为 n 的排列,使得其连续进行 n-1 次退化后,最终生成的一个整数恰好等于 n-2。你能帮帮小红吗?如果不存在这样的排列,直接输出 -1 即可。

\hspace{15pt}长度为 n排列是由 1,2,\dots,nn 个整数、按任意顺序组成的数组(每个整数均恰好出现一次)。例如,\{2,3,1,5,4\} 是一个长度为 5 的排列,而 \{1,2,2\}\{1,3,4\} 都不是排列,因为前者存在重复元素,后者包含了超出范围的数。

输入描述:

\hspace{15pt}输入一个正整数 n \left(1 \leqq n \leqq 10^3\right),代表待构造的排列的长度。

输出描述:

\hspace{15pt}如果不存在满足条件的排列,直接输出 -1。否则,在一行中输出 n 个两两不同的正整数 a_1,a_2,\dots,a_n \left(1 \leqq a_i \leqq n\right),代表小红构造的排列。
\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
3

输出

复制
1 3 2

说明

\hspace{15pt}在这个样例中,数组 \{1,3,2\} 退化一次后得到 \{2,1\},再退化一次后得到 \{1\},恰好等于 n-2
示例2

输入

复制
1

输出

复制
-1

说明

\hspace{15pt}唯一的初始排列为 \{1\},经过 0 次退化后,最终值为 1