# 首先明确核心规则:
# 退化定义:每次退化是取相邻两数差的绝对值,长度减 1;经过 n-1 次退化后,排列从长度 n 变为长度 1,这个唯一的数需要等于 n-2。
# 规律推导:
# 当 n≤2 时:
# n=1:无退化过程,且 n-2=-1,无法满足;
# n=2:排列元素必不同,退化后结果是 | a1-a2|≥1,但 n-2=0,矛盾;因此 n≤2 时输出 - 1。
# 当 n≥3 时:构造排列[1, n, n-1, n-2, ..., 2]即可满足条件。这个排列的退化过程有明确规律:
# 第 1 次退化:得到[n-1, 1, 1, ..., 1](长度 n-1);
# 第 2 次退化:得到[n-2, 0, 0, ..., 0](长度 n-2);
# ...
# 第 n-2 次退化:得到[n-2, 0](长度 2);
# 第 n-1 次退化:得到|(n-2) - 0| = n-2(长度 1),恰好符合要求。

# 1. 接收用户输入的整数并赋值给n
n = int(input())

# 2. 判断n的大小
if n <= 2:
    # 2.1 若n≤2,输出-1
    print(-1)
else:
    # 2.2 若n>2,构造结果列表
    # - [1, n]:列表前两个固定元素是1和输入的n
    # - range(n-1, 1, -1):生成从n-1递减到2的整数序列(range的结束值是开区间,所以到1停止,实际取到2)
    # - 拼接两个部分得到最终列表
    res = [1, n] + list(range(n-1, 1, -1))
    # 2.3 将列表中的数字转成字符串,用空格连接后输出
    print(' '.join(map(str, res)))