#include <iostream>
#include <map>
using namespace std;

int main() {
    int n;
    while (cin >> n) { // 注意 while 处理多个 case
        if (n <= 2) {
            cout << "-1\n";
        }
        cout << "3 2 1 ";
        for (int i = 4; i <= n; ++i) {
            cout << i << " ";
        }
        // map<int, int> mp;  // (i, ai)
        // for (int i = 1; i < n; ++i) {
        //     for (int j = 1; )
        // }
        cout << endl;
    }
}
// 64 位输出请用 printf("%lld")

这个题的描述看起来听吓人,而且给的一个示例没有规律可言。

发现,a==1时,最开始放到3位置才行,

这样推导2放到2位置,3放到1位置,然后发现,i放在i位置本身形成偶数就可以了。