小红的排列构造
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
Special Judge, 64bit IO Format: %lld

题目描述

对于一个数组,小苯可以做任意次如下操作:
\hspace{23pt} \bullet 交换数组中的任意两个元素。
现在小红想要构造一个长为  的排列 ,对所有的  都满足 ,使得小苯将数组变为升序的最小操作数为
请你帮帮小红。

输入描述:

第一行输入两个整数 n,k\left(2 \leqq n \leqq 2\times10^5 ,1 \leqq k \leqq 2\times10^5 \right)

输出描述:

如果不存在符合条件的排列,请输出 ,否则输出  个整数,代表所构造的排列。
\hspace{15pt}如果存在多个解决方案,您可以输出任意一个,系统会自动判定是否正确。注意,自测运行功能可能因此返回错误结果,请自行检查答案正确性。
示例1

输入

复制
4 2

输出

复制
4 3 2 1

说明

小苯可以进行如下的两次操作 。可以证明,不存在比  次更少的操作次数。