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;
long long a[15], cnt;
void fact(long long n) {
  memset(a, 0, sizeof(a));
  cnt = 0;
  while (n) {
    a[cnt++] = n % 10;
    n /= 10;
  }
  return;
}
long long check(long long n) {
  long long ans = 0;
  while (n) {
    if (n % 10 == 0)
      ans++;
    else
      return ans;
    n /= 10;
  }
  return ans;
}
int main(void) {
  long long n, k;
  while (scanf("%I64d%I64d", &n, &k) != EOF) {
    fact(n);
    long long num = 0, tot = 0;
    for (long long i = 0; i < cnt; i++) {
      if (a[i] == 0) {
        tot++;
        continue;
      } else {
        num = a[i];
        break;
      }
    }
    if (tot >= k) {
      printf("%I64d\n", n);
      continue;
    }
    if (num % 2 == 0) {
      long long now = 5;
      while (1) {
        if (check(n * now) >= k) {
          printf("%I64d\n", n * now);
          break;
        }
        now += 5;
      }
    } else if (num % 5 == 0) {
      long long now = 2;
      while (1) {
        if (check(n * now) >= k) {
          printf("%I64d\n", n * now);
          break;
        }
        now += 2;
      }
    } else {
      printf("%I64d", n);
      for (long long i = 0; i < k - tot; i++) printf("0");
      puts("");
    }
  }
  return 0;
}
