题目描述
Smmh最近在研究细胞分裂技术。一个原始的小细胞,可以通过不断的分裂最终成长为一名强大的战士(类似于美国队长),战士有战士的标准,需要精准的n个细胞才能构造成一个强大的战士,多一个少一个都不行!
细胞每秒进行一次分裂,分裂的倍数2 - k倍不等。注意:每个细胞仅能进行一次分裂,也就是说每秒的分裂只有上一秒的新生细胞能够进行。
Smmh需要你的帮忙,由你来设计细胞每次分裂的倍数,看看最少通过几次分裂,能够正好使得细胞总数到达n。
若无法到达n,则输出-1。
输入描述
第一行输入两个整数k,n。
输出描述
一行一个整数,表示最少的次数。
样例1
输入复制
9 571
输出
4
提示
第一次2倍,分裂出12=2个细胞;
第二次4倍,分裂出24=8个细胞;
第三次7倍,分裂出7*8=56个细胞;
第四次9倍,分裂出504个细胞;
共1+2+8+56+504=571个细胞。
对于40%的数据1<=n<=10^5。
对于100%的数据1<=k<=30,1<=n<=10^12。