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;
int main() {
  vector<int> vec(0);
  vector<int> vec1(0);
  unsigned long long int c, d, k, gf;
  int i, z, g, j;
  cin >> k >> d;
  i = 2;
  while ((k > 1)) {
    if (i > pow(k, 0.5)) {
      i = k;
    }
    if (k % i == 0) {
      vec.push_back(i);
      k = k / i;
    } else {
      i++;
    }
  }
  c = 1;
  for (int i = 1; i <= d; i++) {
    c = c * 10;
  }
  i = 2;
  gf = c;
  while (c > 1) {
    if (c % i == 0) {
      vec1.push_back(i);
      c = c / i;
    } else {
      i++;
    }
  }
  for (int i = 0; i < vec1.size(); i++) {
    for (int j = 0; j < vec.size(); j++) {
      if (vec[j] == vec1[i]) {
        if ((vec1.size() > 0) && (vec.size() > 0)) {
          vec.erase(vec.begin() + j);
          vec1.erase(vec1.begin() + i);
          i--;
          j--;
        }
      }
    }
  }
  for (int i = 0; i < vec.size(); i++) {
    gf = gf * vec[i];
  }
  cout << gf;
  return 0;
}
