#include <iostream>
using namespace std;

int bit[200005];
inline void add(int i, int x){
  i++;
  while(i<200005){
    bit[i]+=x;
    i+=i&-i;
  }
}
inline int sum(int i){
  i++;
  int ret=0;
  while(i){
    ret+=bit[i];
    i-=i&-i;
  }
  return ret;
}

string str;
int nxt[26];
int main(){
  int k;
  cin >> str >> k;
  int n=str.length();
  fill(bit, bit+200005, 0);
  for(int i=0; i<n; i++) add(i, 1);
  fill(nxt, nxt+26, 0);
  for(int i=0; i<26; i++){
    while(nxt[i]<n && str[nxt[i]]!='a'+i) nxt[i]++;
  }
  for(int i=0; i<n; i++){
    for(int j=0; j<26; j++){
      if(nxt[j]==n) continue;
      int cnt=sum(nxt[j]-1);
      if(cnt<=k){
        k-=cnt;
        add(nxt[j], -1);
        cout << (char)('a'+j);
        nxt[j]++;
        while(nxt[j]<n && str[nxt[j]]!='a'+j) nxt[j]++;
        break;
      }
    }
  }
  cout << endl;
}