【CF Round 434 A. k-rounding】

 

Time limit per test1 second

memory limit per test 256 megabytes

input standard input

output standard output

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
【翻译】输入n,k,求出最小的数满足能够被n整除且末尾至少有k个0。
 
题解:
①末尾k个0其实就是能够被10k整除。
     ②问题转化为求n,k最小公倍数,方法是用LCM(a,b)=a*b/GCD(a,b)
#include<math.h>
#include<stdio.h>
#include<algorithm>
#define ll long long 
ll n,k,a,b;
int main()
{
	scanf("%I64d%I64d",&n,&k);a=n,b=pow(10,k)+0.5;
	printf("%I64d\n",a*b/std::__gcd(a,b));return 0;
}//Paul_Guderian
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
posted @ 2017-10-20 14:16  小米狐  阅读(267)  评论(0编辑  收藏  举报
TOP