#1307. 置换列

置换列

题目背景

S\text{S} 非常想要 NOI Au Medals\texttt{NOI Au Medals},在他的梦中,一个声音告诉他,他必须解决下面的任务,你需要帮他解决。

题目描述

你需要构造一个长度为 nn 的排列 pp^*,使得所有 1i<n1 \le i < n 满足 pi+pi+1p_i + p_{i + 1} 为合数^†

如果不存在这样的排列,则输出 1-1

^*:长度为 nn 的排列是由 1n1 \sim n 以任意顺序组成的数组,例如,[1,3,2][1, 3, 2] 是排列,而 [5,3,4][5, 3, 4][1,2,2][1, 2, 2] 不是排列。

^†:如果正整数 xx 有除 11xx 外的因子,则称 xx 为合数。

输入格式

输入共一行。

第一行输入一个正整数 nn,表示你需要构造的排列长度。

输出格式

输出共一行。

第一行输出 nn 个正整数,表示你构造的排列,无解输出 1-1

可能有多种合法的构造方式,输出任意一种即可。

输入输出样例

3
-1
8
1 8 7 3 6 2 4 5

提示/说明

样例解释仅为其中一种构造方式,并非唯一解。

【样例解释 11

对于第一组样例,可以证明,长度为 33 的排列一定存在一组相邻的元素满足和为质数。

例如 [2,3,1][2, 3, 1] 中,2+3=52 + 3 = 5 是质数。

【样例解释 22

对于第二组样例,一种合法的构造方式为 [1,8,7,3,6,2,4,5][1, 8, 7, 3, 6, 2, 4, 5],满足任意相邻元素之和为合数。

【数据范围】

对于前 10%10\% 的数据保证:n=2n = 2

对于前 30%30\% 的数据保证:2n62 \le n \le 6

对于另外 10%10\% 的数据保证:2n102 \le n \le 10

对于另外 20%20\% 的数据保证:nn 为偶数。

对于 100%100\% 的数据保证:2n2×1052 \le n \le 2 \times 10^5