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
from sys import maxsize, stdout, stdin,stderr
mod = int(1e9 + 7)
def tup():return map(int,stdin.readline().split())
def I(): return int(stdin.readline())
def lint(): return [int(x) for x in stdin.readline().split()]
def S(): return input().strip()
def grid(r, c): return [lint() for i in range(r)]
def debug(*args, c=6): print('\033[3{}m'.format(c), *args, '\033[0m', file=stderr)
from  math import  log2,sqrt
from collections import Counter,defaultdict
from itertools import permutations
import re

# def bark():
#     n = I();    s =S()
#     a = re.split('[A-Z]+',s)
#     p = max(map(lambda x: len(set(x)),a))
#     return p
from math import floor,sqrt,ceil
#
# def bark():
#     n = I()
#     s = int(sqrt(n))
#     for i in range(s,n+1):
#         if i*s >=n:
#             print(2*(i+s))
#             #find some area greater than or equal to n and then find it's perimeter since it's a rectange use 2*(l+b)
#             break
# if __name__ == '__main__':
#     bark()
#print(375.80 , 30000.30000)
#print(1234567890000000/123456789)
from math import gcd
def kround():
    n , k =tup()
    a , b = n , pow(10,k)
    l = (a*b) // gcd(a,b)
    print(l) #look the definiton of lcm
    #ughhhhhh lcm is the lowest common multiple that divides both the numbers


if __name__ == '__main__':
    kround()