For a given positive integer n denote its k-rounding as the minimum positive integer x, such that x ends with k or more zeros in base 10 and is divisible by n.

For example, 4-rounding of 375 is 375·80 = 30000. 30000 is the minimum integer such that it ends with 4 or more zeros and is divisible by 375.

Write a program that will perform the k-rounding of n.

Input

The only line contains two integers n and k (1 ≤ n ≤ 109, 0 ≤ k ≤ 8).

Output

Print the k-rounding of n.

Examples

Input

375 4


Output

30000


Input

10000 1


Output

10000


Input

38101 0


Output

38101


Input

123456789 8


Output

12345678900000000
#include <bits/stdc++.h>
using namespace std;
template <typename... T>
void oh(T&... args) {
  ((cin >> args), ...);
}
template <typename... T>
void ql(T&&... args) {
  ((cout << args << ' '), ...);
}
template <typename... T>
void sd(T&&... args) {
  ((cout << args << '\n'), ...);
}
const char bye = '\n';
const int maui = 1e7 + 10;
const int INF = 2000 * 1000 * 1000;
long long gcd(long long int a, long long int b) {
  if (b == 0) return a;
  return gcd(b, a % b);
}
long long fact(long long n) {
  long long prod = 1;
  for (long long i = 2; i <= n; i++) {
    prod *= i;
  }
  return prod;
}
long long lcm(long long a, long long b) { return (a / gcd(a, b)) * b; }
void playingwithFire() {
  int n, k;
  oh(n, k);
  for (int i = 0; i < int(k); ++i) {
    if (n % 2 == 0) {
      n /= 2;
      cerr << "n"
           << " is " << n << endl;
      ;
    }
    if (n % 5 == 0) {
      n /= 5;
      cerr << "n"
           << " is " << n << endl;
      ;
    }
  }
  cout << n;
  for (int _end_ = (k), i = (1); i <= _end_; ++i) cout << "0";
}
int main(void) {
  ios::sync_with_stdio(false);
  cin.tie(NULL);
  cout.tie(NULL);
  long long TEST = 1;
  while (TEST--) {
    playingwithFire();
  }
  return 0;
}
