#include <bits/stdc++.h>
using namespace std;
long long a[100];
int main() {
  long long n, k, max1, i, j, p, l = 0, f, g;
  cin >> n >> k;
  while (n != 0) {
    l++;
    a[l] = n % 10;
    n = n / 10;
  }
  for (i = 1; i <= l / 2; i++) {
    swap(a[i], a[l - i + 1]);
  }
  for (i = 1; i <= l; i++) {
    max1 = a[i];
    p = i;
    for (j = i + 1; j <= min(l, i + k); j++) {
      if (max1 < a[j]) {
        max1 = a[j];
        p = j;
      }
    }
    if (p - i <= k) {
      for (g = p; g >= i + 1; g--) swap(a[g], a[g - 1]);
      k -= p - i;
    }
  }
  for (i = 1; i <= l; i++) cout << a[i];
  return 0;
}
