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() {
  unsigned long long int n, x, aux, aux2;
  int k, cont = 0, maior = 0, indice = 1, tem_sol = 1;
  cin >> n >> k;
  x = n * 1;
  while (x > 0) {
    if (x % 10 != 0) break;
    cont++;
    x = x / 10;
  }
  if (cont >= k)
    maior = cont;
  else {
    for (int i = 2; i < 10; i++) {
      cont = 0;
      x = n * i;
      while (x > 0) {
        if (x % 10 != 0) break;
        cont++;
        x = x / 10;
      }
      if (cont > maior && cont <= k) {
        maior = cont;
        indice = i;
      }
    }
  }
  x = n * indice;
  for (int i = 0; i < k - maior; i++) {
    x = x * 10;
  }
  aux = x;
  while (aux >= n && aux % 2 == 0 && aux % n == 0 && tem_sol == 1) {
    aux = aux / 2;
    aux2 = aux;
    for (int i = 0; i < k; i++) {
      if (aux <= 0 || aux % 10 != 0) {
        tem_sol = 0;
        break;
      }
      aux = aux / 10;
    }
    aux = aux2;
  }
  if (tem_sol == 0 || aux < n || aux % n != 0) aux = aux * 2;
  tem_sol = 1;
  while (aux >= n && aux % 5 == 0 && aux % n == 0 && tem_sol == 1) {
    aux = aux / 5;
    aux2 = aux;
    for (int i = 0; i < k; i++) {
      if (aux <= 0 || aux % 10 != 0) {
        tem_sol = 0;
        break;
      }
      aux = aux / 10;
    }
    aux = aux2;
  }
  if (tem_sol == 0 || aux < n || aux % n != 0)
    cout << aux * 5;
  else
    cout << aux;
  return 0;
}
