#include<bits/stdc++.h>
using namespace std;
typedef unsigned long long int ull;
typedef long double ld;
#define int long long
#define pb push_back
#define mk make_pair
#define MOD 1000000007
#define vii vector<int>
#define pii pair<int,int>
#define piii pair<int, pii>
#define yes cout<<"YES\n";
#define no  cout<<"NO\n";
#define UB upper_bound
#define LB lower_bound
#define BS binary_search
#define PI 3.1415926535897932384626433832795
#define dec(x) fixed<<setprecision(x)
#define tc int t;cin>>t;while(t--)
#define pr(x) for(auto it : x)cout<<it<<" ";
#define gcd(a,b) __gcd((a),(b))
#define lcm(a,b) (a*b/__gcd(a,b))
#define fi(i,n) for(int i=0;i<n;i++)
#define f(i, a, b) for(int i=a;i<b;i++)
#define all(v)  v.begin(),v.end()
#define fast ios_base::sync_with_stdio(0); cin.tie(NULL);cout.tie(NULL); 
#define endl cout<<"\n";
 
map<int,int>mp;

int comp(int a, int b){
    return (a>b);
}

bool prime(int n)
{
   if(n==0 or n==1) return false;
   if(n==2) return true;
   else if(n%2==0) return false;
   for(int i=3;i*i<=n;i+=2)
   {
       if(n%i==0)
       {
           return false;
       }
   }
   return true;
}

int binCo(int n, int r){
    int C[n+1][r+1];
    for(int i=0;i<n;i++)
    {
        for(int j=0;j<=min(i,r);j++)
        {
            if(j==0 or j==i)
            C[i][j] = 1;
            else
            C[i][j] = C[i-1][j] + C[i-1][j-1];
        }
    }
    return C[n][r];
}

//Modular Exponentiation O(Log y)
int power(int x, int y, int MODL) {
	int res = 1;
	x = x % MODL;
	while (y > 0) {
		if (y & 1)
			res = (res*x) % MODL;
		y = y>>1;
		x = (x*x) % MODL;
	}
	return res;
}
 
//Fermat's Little theorem, O(Log m)
int modInverse(int a, int m) {
	   return power(a, m-2, m);
}
int binSearch(int arr[], int n, int x)
{
    int l = 0, r=n-1;
    while(l<=r)
    {
        int mid = (l+r)/2;
        if(x==arr[mid])
        return mid;
        if(x>arr[mid])
        {
           l = mid+1;
        }
        else
        if(x<arr[mid])
        {
            r = mid-1;
        }
    }
    return -1;
}

void solve()
{
   int n,k;
   cin>>n>>k;
  string s = "" ;   
   while(k--){
       if(n%200==0)
       n/=200;
       else {
           s = to_string(n);
           s+="200";
           n = stoll(s);
       }
   }
   cout<<n;
}
int32_t main(){
    #ifndef ONLINE_JUDGE
    freopen("input.txt", "r", stdin);
    freopen("output.txt", "w", stdout);
    #endif
    fast;
    solve();
    return 0;
}
///*    ***Bismillahir Rahmanir Rahim***   */

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double dl;
typedef unsigned long long ull;
#define pb push_back
#define PB pop_back
#define nn "\n"
#define O_O                           \
    ios_base::sync_with_stdio(false); \
    cin.tie(NULL)
#define all(p) p.begin(), p.end()
#define zz(v) (ll) v.size()
#define ss ' '
#define MEM(a, b) memset(a, (b), sizeof(a))
#define CLR(p) memset(p, 0, sizeof(p))
#define precision(a) fixed << setprecision(a)
#define rep(i, b) for (ll i = 0; i < (b); i++)
#define rep1(i, b) for (int i = 1; i <= (b); i++)
//#define rep(s,e)         for(i=s;i<e;i+=1)
//#define rep(i,a,b) for(int i=(a);i<(b);i++)
#define fr(i, b, a) for (int i = (b); i >= (a); i--)
#define rep2(i, a, b, c) for (int i = (a); i != (b); i += (c))
#define arrsize(a) (sizeof(a) / sizeof(a[0]))
//#define       arrsize(a)      (sizeof(a)/sizeof(*a))
#define S(a) scanf("%lld", &a)
#define SS(a, b) scanf("%lld %lld", &a, &b)
#define SSS(a, b, c) scanf("%lld %lld %lld", &a, &b, &c)
#define gcd(a, b) __gcd(a, b)
#define lcm(a, b) (a * b) / gcd(a, b)
#define pi acos(-1.0)
#define ff first
#define sc second
#define print(v)   \
    for (ll i : v) \
    cout << i << ss
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;
typedef vector<pair<ll, ll>> vpll;
typedef vector<ll> vll;
typedef map<string, ll> msl;
typedef map<ll, ll> mll;
#define yes cout << "YES\n"
#define no cout << "NO\n"
bool comp(pair<ll, ll> a, pair<ll, ll> b)
{
    if (a.first != b.first)
        return a.first > b.first;
    else
        return a.second > b.second;
}
//ll minelementindex = min_element(v.begin(),v.end()) - v.begin();
//ll minelement = *min_element(v.begin(), v.end());
//ll maxelementindex = max_element(v.begin(),v.end()) - v.begin();
//ll maxelement = *max_element(v.begin(), v.end());
//memset(ar,-1,sizeof(ar));
//#define sort(x) sort(x.begin(), x.end())
//sort(a,a+n,greater<ll>())
//for (auto it = mp.begin(); it != mp.end(); ++it){}
// string x(w.size(),'1');
//auto s =to_string(42);
//string s = "12345";
// object from the class stringstream
//stringstream geek(s);
// The object has the value 12345 and stream
// it to the integer x
//int x = 0;
//geek >> x;
#define MAX 1000005
#define precision(a) fixed << setprecision(a)
#define mod 1000000007
int main()
{
    //O_O ;
    ll t = 1;
    // cin>>t;
    while (t--)
    {
        ll n, k;
        cin >> n >> k;

        auto s = to_string(n);
        while (k--)
        {
            stringstream geek(s);
            ll x = 0;
            geek >> x;
            //   cout << x << nn;
            if (x % 200 == 0)
            {
                x /= 200;
                auto c = to_string(x);
                s = c;
            }
            else
                s += "200";
        }
        cout << s << nn;
    }

    return 0;
}