#include <bits/stdc++.h>
const int N = 3e4 + 10;
const long long int inf = 12345689012345678;
const long double pi = 3.141592653589793;
const int md = 1e7 + 7;
using namespace std;
int here = 1;
void getStop() {
  here++;
  if (here >= N) {
    cout << "\n\n\t Infinite loop \n\n";
    exit(1);
  }
  return;
}
void io(bool ok) {
  freopen("input.txt", "r", stdin);
  if (ok) freopen("output.txt", "w", stdout);
}
long long int x, y, temp;
stack<long long int> ST;
void general(long long int mul) {
  if (y <= 0) return;
  getStop();
  x *= mul;
  ST.push(0);
  x /= 10;
  y--;
  if (x % 2 == 0)
    general(5);
  else if (x % 5 == 0)
    general(2);
  else if (x % 2)
    general(10);
}
int main() {
  scanf("%lld%lld", &x, &y);
  temp = x;
  while (true) {
    if (x % 10 == 0) {
      x /= 10;
      ST.push(0);
      y--;
    } else
      break;
  }
  if (y <= 0) {
    printf("%lld", temp);
    return 0;
  }
  if (x % 2 == 0)
    general(5);
  else if (x % 5 == 0)
    general(2);
  else
    general(10);
  ST.push(x);
  while (!ST.empty()) {
    cout << ST.top();
    ST.pop();
  }
  return 0;
}
