#include <bits/stdc++.h>
#define SZ(x) (int)(x).size()
#define ALL(x) (x).begin(),(x).end()
#define PB push_back
#define EB emplace_back
#define MP make_pair
#define FI first
#define SE second
using namespace std;
typedef double DB;
typedef long double LD;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
typedef vector<int> VI;
typedef vector<PII> VPII;
// head
int main() {
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    LL n;int k;cin>>n>>k;
    for(int i=1;i<=k;i++) {
        if(n%200==0) n/=200;
        else n=n*1000+200;
    }
    cout<<n<<'\n';
    return 0;
}
/*Name-Dipesh
Location-Somewhere in interstellar
W/A is inevitable*/
#include <algorithm>
#include <array>
#include <cassert>
#include<bits/stdc++.h>
#include <chrono>
#include <cmath>
#include <cstring>
#include <functional>
#include <iomanip>
#include <iostream>
#include <map>
#include<unordered_map>
#include <numeric>
#include <queue>
#include <random>
#include <set>
#include <vector>
#define Super_schnell ios::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
#define test() long long t; cin>>t; while(t--)
#define comp(v) v.begin(),v.end()
#define sortv(v) sort(comp(v))
#define vecfind(v,key) (find(all(v),key)!=v.end())
#define vecdelp(v,pos) v.erase(v.begin()+pos)
#define setfind(v,key) (v.find(key) != v.end())
#define mapfind(m,key) (mp.find(key) != mp.end())
#define print(i) cout<<i<<"\n"
#define veccount(v,key) (count(all(v),key))
#define setcount(s,key) (s.count(key))
#define bitcount(i) __builtin_popcount(i)
#define int long long 
#define ull unsigned long long
#define db double
#define inf 1000000007
#define mod 1000000007
#define veci vector<long long>
#define vecs vector<string>
#define mp make_pair
#define pqueue priority_queue< long long >
#define pdqueue priority_queue< long long,vi ,greater< long long > >
#define pi 3.14159265358979323846
#define mem(x , v) memset((x) , (v) , sizeof(x))
using namespace std;

int gcd(int a,int b){
    while(b){
        a%=b;
        swap(a,b);
    }
    return a;}
    int square(int num)
{
    
    if (num < 0) num = -num;
 
    
    int result = 0, times = num;
 
    while (times > 0)
    {
        int possibleShifts = 0, currTimes = 1;
 
        while ((currTimes << 1) <= times)
        {
            currTimes = currTimes << 1;
            ++possibleShifts;
        }
 
        result = result + (num << possibleShifts);
        times = times - currTimes;
    }
 
    return result;
}

char reVal(int num)
{
    if (num >= 0 && num <= 9)
        return (char)(num + '0');
    else
        return (char)(num - 10 + 'A');
}

 


int32_t main() 
{ 

int n,k;
cin>>n>>k;
while(k--)
{
if(n%200==0)
{
n=n/200;
}
else
{
  n=(n*1000)+200;

}
}
cout<<n;
}