#include <bits/stdc++.h>
using namespace std;
int mod(string s, int a) {
  int ans = 0;
  for (int i = 0; i < s.length(); i++) ans = (ans * 10 + (int)s[i] - '0') % a;
  return ans;
}
long long min(long long x, long long y) {
  if (x < y) return x;
  return y;
}
long long max(long long x, long long y) {
  if (x > y) return x;
  return y;
}
long long power(long long x, unsigned long long y) {
  if (y == 0)
    return 1;
  else if (y % 2 == 0)
    return power(x, y / 2) * power(x, y / 2);
  else
    return x * power(x, y / 2) * power(x, y / 2);
}
long long hcf(long long a, long long b) {
  if (b == 0) return a;
  return hcf(b, a % b);
}
int main() {
  ios_base::sync_with_stdio(0);
  cin.tie(NULL);
  cout.tie(NULL);
  ;
  long long TT = 1;
  while (TT--) {
    long long n, k, i, s = 0, l, x;
    cin >> n >> k;
    l = n - 1;
    vector<long long> v;
    for (i = 1; i < n + 1; i++) v.push_back(i);
    for (i = n - 1; i >= n - k; i--) cout << v[i] << " ";
    for (i = 0; i < n - k; i++) cout << v[i] << " ";
    cout << "\n";
  }
}
