2472: 取数问题

Memory Limit:128 MB Time Limit:1.000 S
Judge Style:Text Compare Creator:
Submit:3 Solved:0

Description

     任给出正整数nk,然后按下列的规则取数。取数规则为从1开始取,每次取的数为上一次取的数乘2,不够取时加上k再从1开始取,直到取完为止。例如n=16k=4

l  第一次取数   1   取数后的余数为16-1=15

l  第二次取数   2   取数后的余数为15-2=13

l  第三次取数   4   取数后的余数为13-4=9

l  第四次取数   8   取数后的余数为9-8=1

当第五次取数时,因余数为1,不够取,此时作如下处理:余数1+k=5,再从1开始取

l  第五次取数   1   取数后的余数为5-1=4

l  第六次取数   2   取数后的余数为4-2=2

当第七次取数时,因余数为2,不够取,此时作如下处理:余数2+k=6,再从1开始取

l  第七次取数   1   取数后的余数为6-1=5

l  第八次取数   2   取数后的余数为5-2=3

当第九次取数时,因余数为3,不够取,此时作如下处理:余数3+k=7,再从1开始取

l  第九次取数   1   取数后的余数为7-1=6

l  第十次取数   2   取数后的余数为6-2=4

l  第十一次取数 4   取数后的余数为4-4=0,正好取完

由此可见,当n=16k=4时,按上述方法11次取完。

 



Input

输入文件仅有一行包含两个用空格隔开的正整数n和k。

 



Output

输出文件仅有一行,若正好能够取完,则输出总共取了多少次数;若永远不能取完时,输出“can't finish!”。注意finish之后有感叹号,样例2为永远不能取完的情况。

 



Sample Input Copy

16 4
 

 

Sample Output Copy

11

HINT

样例2

样例输入

36557 32991
 

样例输出

can't finish!
 
数据范围
30%的数据满足:N≤1000,K≤N
60%的数据满足:N≤100000,K≤N
100%的数据满足:1≤N≤10000000,K≤N
 

Source/Category