#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
using vi = vector<int>;
template<class T> void out(const T& a) { for (int i = 0, n = a.size();i < n;i++)cout << a[i] << " \n"[i + 1 == n]; }
void solve() {
int n, k;cin >> n >> k;
if (n == k + 1) {
cout << -1 << endl;return;
}
vi a(n);
for (int i = 0;i < n;i++) {
a[i] = i + 1;
}
reverse(a.begin(), a.begin() + n - k);
if ((n - k) % 2 == 1) {
reverse(a.begin(), a.begin() + (n - k) / 2 + 1);
}
out(a);
}
/*
*/
signed main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);cout.tie(nullptr);
int t = 1;
//cin >> t;
for (int i = 1; i <= t; i++) {
//cout << "----Test " << i << "----" << endl;
solve();
}
return 0;
}
反转前面n-k个数剩下k个数符合条件,但要特判n-k为奇数,因为中间的反转后还是符合条件,再反转前面(n-k)/2+1的数

京公网安备 11010502036488号