#include<iostream>#include<stdio.h>#include<string.h>#include<math.h>#include<algorithm>#include<string>#include<queue>#include<map>/* #include <unordered_map> */#include<bitset>#include<vector>voidfre(){system("clear"),freopen("A.txt","r",stdin);freopen("Ans.txt","w",stdout);}voidFre(){system("clear"),freopen("A.txt","r",stdin);}#define ios ios::sync_with_stdio(false)#define Pi acos(-1)#define pb push_back#define fi first#define se second#define ll long long#define ull unsigned long long#define db double#define Pir pair<int, int>#define PIR pair<Pir, Pir>#define m_p make_pair#define INF 0x3f3f3f3f#define esp 1e-7#define mod (ll)(1e9 + 7)#define for_(i, s, e) for(int i = (ll)(s); i <= (ll)(e); i ++)#define rep_(i, e, s) for(int i = (ll)(e); i >= (ll)(s); i --)#define sc scanf#define pr printf#define sd(a) scanf("%d", &a)#define ss(a) scanf("%s", a)
using namespace std;constint mxn =1005;char s[mxn];char res[mxn];int f[mxn][20];intMin(int i,int j){if(s[i]<= s[j])return i;return j;}voidST(int n){for_(i,0, n -1) f[i][0]= i;for(int j =1;(1<< j)<= n; j ++)for(int i =0; i +(1<< j)-1< n; i ++)
f[i][j]=Min(f[i][j -1], f[i +(1<<(j -1))][j -1]);}intget_min(int l,int r){int k =0;while(1<<(k +1)<= r - l +1) k ++;returnMin(f[l][k], f[r -(1<< k)+1][k]);}intmain(){/* fre(); */int m;while(sc("%s %d", s,&m)!=EOF){int n =strlen(s);ST(n);int i =0, cnt =0, len = n - m;while(len --){
i =get_min(i, n - len -1);
res[cnt ++]= s[i ++];}
res[cnt]='\0';int lead =0;//前导零while(res[lead]=='0'&& lead < cnt) lead ++;if(lead == cnt)pr("0\n");elsepr("%s\n", res + lead);}return0;}