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
import java.io.*;
import java.util.*;



public class Main {
    long rez = -1;
    public void solve() throws IOException {
        long n = nextInt();
        int k = nextInt();
        int a = 0;
        while (n == (n / 10) * 10) {
            k--;
            a++;
            n = n/10;
        }
        k = Math.max(0, k);
        if (k == 0) pw.print(Long.toString(n * (long)Math.pow(10, a)));
        else {
            dfb(n, k, 1, 0);
            if (rez == -1) {
                pw.println(Long.toString((long) (n * Math.pow(10, k) * Math.pow(10, a))));
            }else pw.println(Long.toString(rez * n * (long)Math.pow(10, a)));
        }
    }
    void dfb (long n, int k, int i, long r) {
        long ten = (long) Math.pow(10, i);
        if (r != 0 && n * r % (Math.pow(10, k)) == 0) {
            if ((r < rez || rez == -1) && r > 0) rez = r;
            return;
        }
        if (i > k) return;
        if (i != k) {
            for (long j = 0; j < 10; j++) {
                if (((j * (ten / 10) + r) * (n % ten)) % ten  == 0) {
                    dfb(n, k, i + 1, (j * (ten / 10) + r));
                }
            }
        } else {
            for (int j = 1; j < 10; j++) {
                if (((j * (ten / 10) + r) * (n % ten)) % ten == 0) {
                    dfb(n, k, i + 1, (j * (ten / 10) + r));
                }
            }
        }
    }

    public void run() {
        try {
            br = new BufferedReader(new InputStreamReader(System.in));
            pw = new PrintWriter(new OutputStreamWriter(System.out));
            solve();
            pw.close();
        } catch (IOException e) {
            e.printStackTrace();
            System.exit(1);
        }
    }

    BufferedReader br;
    StringTokenizer in;
    PrintWriter pw;

    public String nextToken() throws IOException {
        while (in == null || !in.hasMoreTokens()) {
            in = new StringTokenizer(br.readLine());
        }
        return in.nextToken();
    }

    public int nextInt() throws IOException {
        return Integer.parseInt(nextToken());
    }

    public long nextLong() throws IOException {
        return Long.parseLong(nextToken());
    }

    public static void main(String[] args) throws IOException {
        Locale.setDefault(Locale.US);
        new Main().run();
    }
}