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;
const int maxn = 1e5 + 7;
long long n, k;
int main() {
  scanf("%lld%lld", &n, &k);
  int cnt10 = 0;
  int cnt2 = 0;
  int cnt5 = 0;
  long long m = n;
  while (1) {
    if (m % 10 == 0) {
      cnt10++;
      m /= 10;
    } else
      break;
  }
  while (1) {
    if (m % 5 == 0) {
      cnt5++;
      m /= 5;
    } else
      break;
  }
  while (1) {
    if (m % 2 == 0) {
      cnt2++;
      m /= 2;
    } else
      break;
  }
  if (cnt10 >= k)
    printf("%lld\n", n);
  else {
    if (cnt2 > cnt5) {
      k -= cnt10;
      if (k <= cnt2) {
        for (int i = 1; i <= k; i++) n *= 5;
      } else {
        for (int i = 1; i <= cnt2; i++) n *= 5;
        for (int i = 1; i <= k - cnt2; i++) n *= 10;
      }
      printf("%lld\n", n);
    } else {
      k -= cnt10;
      if (k <= cnt5) {
        for (int i = 1; i <= k; i++) n *= 2;
      } else {
        for (int i = 1; i <= cnt5; i++) n *= 2;
        for (int i = 1; i <= k - cnt5; i++) n *= 10;
      }
      printf("%lld\n", n);
    }
  }
  return 0;
}
