#include <iostream>
#include<vector>
using namespace std;
核心思想就是,奇偶数交叉再将最后第一位奇偶数放到最后就行
int main() {
int n;
cin>>n;
if(n<3){
cout<<-1<<endl;
return 0;
}
vector<int> p(n+1);
//构造偶数部分的映射
for(int i=2;i<=n;i+=2){
if(i+2<=n){
p[i]=i+2;
}
}
int last_even=(n%2==0)? n:n-1;
p[last_even]=2;
//构造奇数部分的映射
for(int i=1;i<=n;i+=2){
if(i+2<=n){
p[i]=i+2;
}
}
int last_odd=(n%2==1)?n:n-1;
p[last_odd]=1;
for(int i=1;i<=n;i++){
cout<<p[i]<<(i==n?"":" ");
}
cout<<endl;
return 0;
}
// 64 位输出请用 printf("%lld")



京公网安备 11010502036488号