一起做很甜的梦!
题号:NC286179
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 1024 M,其他语言2048 M
Special Judge, 64bit IO Format: %lld

题目描述

\hspace{15pt}梦境是由我们的记忆碎片重组后再次演绎的结果。对于一个拥有 n 段记忆的人,我们可以使用 1 \sim nn 个整数来表示每一段记忆。将这 n 段记忆打乱后重新组合,就得到了一个梦。
\hspace{15pt}作为牛客星球的首席梦境研究员,牛可乐在研究中发现:如果一个梦境中任意连续的 k 段记忆(其中 1 < k < n)都无法完整还原出一段真实经历时(即不构成一个排列),这个梦就会特别甜美。这种恰到好处的记忆重组方式,让梦境与现实保持着微妙的距离,创造出令人陶醉的朦胧美感。
\hspace{15pt}现在,牛可乐想请你帮忙设计一些这样的甜美梦境,来继续他的天才研究。

\hspace{15pt}长度为 n排列是由 1 \sim nn 个整数、按任意顺序组成的数组,其中每个整数恰好出现一次。例如,\{2,3,1,5,4\} 是一个长度为 5 的排列,而 \{1,2,2\}\{1,3,4\} 都不是排列,因为前者存在重复元素,后者包含了超出范围的数。

输入描述:

\hspace{15pt}在一行上输入一个整数 n \left(3 \leqq n \leqq 2\times 10^5\right) 代表记忆的段数。

输出描述:

\hspace{15pt}在一行上输出 n 个整数,代表你为一个有着 n 段记忆的人设计的甜美梦境。

\hspace{15pt}如果存在多种可能的甜美梦境,你可以输出任意一种。系统会自动判定你的设计是否符合要求。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
4

输出

复制
2 4 1 3

说明

\hspace{15pt}在这个样例中,任意连续的 k 段记忆:
\hspace{23pt}\bullet\,\{2,4\}
\hspace{23pt}\bullet\,\{4,1\}
\hspace{23pt}\bullet\,\{1,3\}
\hspace{23pt}\bullet\,\{2,4,1\}
\hspace{23pt}\bullet\,\{4,1,3\}
\hspace{15pt}都不构成一个排列,所以这是一个甜美的梦境。
示例2

输入

复制
4

输出

复制
3 1 4 2

说明

\hspace{15pt}当然,梦的形状千奇百怪,我们有数不清的设计方案。