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

//package leto;

import java.io.*;
import java.util.*;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class techno {
	FastScanner in;
	PrintWriter out;
	
	static ArrayList<Integer>[] gr, ans;
	static int[]  a, cnt;
	static ArrayList<Integer> del;
	static int maxN = 1000010;
	static int mod = 1000000007;
	static int cons = 200001;

	public static void main(String[] arg) {
		new techno().run();
	}
	public void solve() throws IOException {
	//	Scanner scan = new Scanner(System.in);
		long n = in.nextInt();
		int k = in.nextInt();
		int sum2 = 0;
		int sum5 = 0;
		long t = n;
		while(t % 2 == 0){
			t /= 2;
			sum2++;
		}
		t = n;
		while(t % 5 == 0){
			t /= 5;
			sum5++;
		}
		for(int i = sum2;i<k;i++){
			n *= 2;
		}
		for(int i = sum5;i<k;i++){
			n *= 5;
		}
		out.println(n);
	}

	class Plane implements Comparable<Plane>{
		int i;
		int c;
		public Plane(int i, int c){
			this.i = i;
			this.c = c;
		}
		public int compareTo(Plane a) {
			if(a.c < c){
				return -1;
			}
			if(a.c > c){
				return 1;
			}
			return 0;
		}
	}

	private static int gcd(int a, int b) {
		while ((a != 0) && (b != 0)) {
			if (a < b) {
				int tmp = a;
				a = b;
				b = tmp;
			}
			a %= b;
		}
		return (a + b);
	}

	public void run() {
		try {
			in = new FastScanner(new BufferedReader(new InputStreamReader(System.in)));
			out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(System.out)));

			solve();

			out.close();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}

	class FastScanner {
		BufferedReader br;
		StringTokenizer st;

		FastScanner(BufferedReader bufferedReader) {
			br = new BufferedReader(new InputStreamReader(System.in));
		}

		String next() {
			while (st == null || !st.hasMoreTokens()) {
				try {
					st = new StringTokenizer(br.readLine());
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
			return st.nextToken();
		}

		int nextInt() {
			return Integer.parseInt(next());
		}

		double nextDouble() {
			return Double.parseDouble(next());
		}

		long nextLong() {
			return Long.parseLong(next());
		}

	}
}
