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 {


    public static void main(String args[]) throws IOException {
        Inreader in = new Inreader();
        OutWriter out = new OutWriter();
        long  n = in.nextInt();
        long ans=n;
        long k=in.nextInt();
        long five=k;
        long two=k;
        while(five!=0 && n%5==0){
            five--;
            n=n/5;
        }
        while(two!=0 && n%2==0){
            two--;
            n=n/2;
        }
        out.println((long)(ans*Math.pow(2,two)*Math.pow(5,five)));


        out.close();//lol
    }

    static class Castle implements Comparable {
        double x;
        double y;

        @Override
        public int compareTo(Object o) {
            if (x != ((Castle) o).x) {
                return (int)(x - ((Castle) o).x);
            } else {
                return (int)(y - ((Castle) o).y);
            }
        }
    }

    static class Line implements Comparable {
        int c;
        int type;

        @Override
        public int compareTo(Object o) {
            if (c != ((Line) o).c) {
                return c - ((Line) o).c;
            } else {
                return type - ((Line) o).type;
            }
        }
    }

    static class Inreader {
        BufferedReader in;

        Inreader(String ProblemName) throws IOException {
            in = new BufferedReader(new FileReader(ProblemName));
        }

        Inreader() throws IOException {
            in = new BufferedReader(new InputStreamReader(System.in));
        }

        StringTokenizer tokenizer = new StringTokenizer("");

        void updateTokenizer() throws IOException {
            if (!tokenizer.hasMoreTokens()) {
                String a = in.readLine();
                if (a != null) {
                    tokenizer = new StringTokenizer(a);
                }
            }
        }

        boolean hasNext() throws IOException {
            updateTokenizer();
            return (tokenizer.hasMoreTokens());
        }

        int nextInt() throws IOException {
            updateTokenizer();

            return Integer.parseInt(tokenizer.nextToken());
        }


        String next() throws IOException {
            updateTokenizer();
            return tokenizer.nextToken();
        }
    }

    static class OutWriter {
        PrintWriter out;

        OutWriter(String Problemname) throws IOException {
            out = new PrintWriter(new FileWriter(Problemname));
        }

        StringBuilder cout = new StringBuilder();

        OutWriter() {
            out = new PrintWriter(System.out);
        }

        public <T> void print(T a) {
            cout.append(a);
        }

        public <T> void println(T a) {
            cout.append(a);
            cout.append("\n");
        }


        void close() {
            out.print(cout.toString());
            out.close();
        }

        String close1() {
            return (cout.toString());
        }
    }
}