小苯的排列构造
题号:NC274031
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

格格对合数十分感兴趣,她希望小苯构造一个长度为 n 的排列,使得对于所有的 i 都满足:
\bullet\ |p_i + i| 是一个合数
\bullet\ |p_i - i| 也是一个合数。(|x| 表示 x 的绝对值。)

请你帮他构造一个合法的排列 p 吧。

输入描述:

输入包含一行一个正整数 n\ (1 \leq n \leq 2 \times 10^5),表示排列的长度。

输出描述:

输出包含一行 n 个正整数表示构造出的排列。
如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
如果无解,输出 -1 即可
示例1

输入

复制
10

输出

复制
5 8 7 10 9 2 3 4 1 6
示例2

输入

复制
2

输出

复制
-1

备注:

排列:一个长度为 n 的数组,满足其中 1n 的所有正整数都恰好出现一次。
合数:n 是合数,当且仅当 2 到 n -1 的正整数中存在至少一个整数 m 使得 n\ \%\ m = 0。例如 4, 6, 8, 9 都是合数。
(特别的,1既不是质数也不是合数。)