<Problem>
https://oj.luyencode.net/problem/MAGPERM
//https://oj.luyencode.net/problem/MAGPERM
#include <iostream>
using namespace std;
int main() {
int n;
int k;
cin >> n >> k;
if (k == 0) {
for (int i = 1; i <= n; i++) {
cout << i << " ";
}
}
else if (n % (k * 2) == 0) {
const int SIZE = 100000 + 1;
int arr[SIZE] = { 0 };
int start = 1;
int end = k;
while (end <= n) {
for (int i = start; i <= end; i++) {
arr[i] = i + k;
}
start = start + k + k;
end = start + k - 1;
}
int c_start = n;
int c_end = n - k + 1;
while (c_start >= 1) {
for (int i = c_start; i >= c_end; i--) {
arr[i] = i - k;
}
c_start = c_start - k - k;
c_end = c_start - k + 1;
}
for (int i = 1; i <= n; i++) {
cout << arr[i] << " ";
}
}
else {
cout << "-1" << endl;
}
return 0;
}