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 {
    static final String fileName = "L";

    static char shifr(char x) {
        return (char) (x + 128);
    }

    static long nod(long x, long y) {
        if (x == 0) {
            return y;
        } else {
            return nod(y % x, x);
        }
    }

    static void solutionB() {
        long n = fs.nextInt();
        int k = fs.nextInt();
        long kk = 1;
        for (int i = 0; i < k; i++) {
            kk *= 10;
        }
        pw.print(kk / nod(n, kk) * n);
    }

    public static void main(String[] args) {
        try {
            fs = new FastScanner(new FileInputStream(fileName + ".in"));
            pw = new PrintWriter(new BufferedOutputStream(new FileOutputStream(fileName + ".out")));
        } catch (IOException e) {
            fs = new FastScanner(System.in);
            pw = new PrintWriter(new BufferedOutputStream(System.out));
        }
        solutionB();
        pw.close();
    }

    static PrintWriter pw;
    static FastScanner fs;

    static class FastScanner {
        BufferedReader br;
        StringTokenizer tokenizer;

        public FastScanner(InputStream stream) {
            br = new BufferedReader(new InputStreamReader(stream));
        }

        private String readLine() {
            try {
                return br.readLine();
            } catch (IOException e) {
                return null;
            }
        }

        public String nextToken() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                tokenizer = new StringTokenizer(readLine());
            }
            return tokenizer.nextToken();
        }

        public byte nextByte() {
            return Byte.parseByte(nextToken());
        }

        public short nextShort() {
            return Short.parseShort(nextToken());
        }

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

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

        public double nextDouble() {
            return Double.parseDouble(nextToken());
        }

        public boolean hasMoreTokens() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                String s = readLine();
                if (s == null) {
                    return false;
                }
                tokenizer = new StringTokenizer(readLine());
            }
            return tokenizer.hasMoreTokens();
        }
    }
}
