折纸
题号:NC214454
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

pipipi有一张尺寸为的纸(纸面光滑无折痕)和一把剪刀。

现在pipipi需要把这张纸分成两张纸。

可是pipipi并没有尺子,于是pipipi想到用这样一种方式来划分这张纸。

首先,他将纸横铺在桌面上。

一开始他可以将这张纸对折(两头短的对折),再展开,然后会在纸中间留下一道折痕。

接下来每次,他都可以选择左右其中一头,对准其另一头或者某条折痕,进行对折,然后再展开。

直到有一条折痕把整张纸分成两部分。

pipipi就可以使用剪刀把它剪开。

现在已知正整数n,a,请问pipipi能否在有限的对折次数内完成这个任务,如果可以输出最少对折次数,如果不行输出-1。

输入描述:

输入共一行,两个正整数n,a


输出描述:

输出共一行,一个整数代表答案
示例1

输入

复制
8 3

输出

复制
3

说明








示例2

输入

复制
3 1

输出

复制
-1
示例3

输入

复制
3 0

输出

复制
0