//头文件,也可以使用万能头
#include <iostream>
#include <vector>
//主程序
int main() {
int n = 0, k = 0;
std::cin >> n >> k;
if (n - k == 1) {
std::cout << -1 << std::endl; //这时候,已经没有符合了,该-1了.jpg
return 0;
}
std::vector<int> a(n); //长度为n的动态数组
for (int i = 0; i < n; i++) a[i] = i + 1; //如果下标是0,那么值为1,没办法,vector是从0开始的,哎
int m = n - k; //那么m就该为随机排序的数量了,也就是随机排列数量 = 全部数量 - 不动数量
if (m > 0) {
int first = a[k]; //先把要随机的第一个值保存一下
for (int i = k; i < n - 1; i++) a[i] = a[i + 1]; //然后把要随机排列的值全部+1,这样就对应不了下标了捏,但最后一个会失去
a[n - 1] = first; //你猜我为什么要保存第一个要随机排列的值?
}
for (const auto& val : a) std::cout << val << " ";
std::cout << std::endl;
return 0;
}