#P11731. 僵尸

僵尸

**

你是一只僵尸。

你现在和N-1个僵尸站在一起分配大脑。你的编号是1,其他僵尸编号2~N。僵尸们按照编号从小到大的顺序提出分配方案(一个方案是指每个僵尸分配几个大脑,大脑不能有剩余),然后所有僵尸进行投票,如果得票数大于等于一半方案就通过,否则当前的僵尸会被其它僵尸吃掉,由下一个僵尸进行分配。

僵尸们都很贪婪和残忍,但它们更不想被吃掉,所以僵尸们会在保证自己不被吃掉的情况下提出自己获得的大脑最多的方案,并且当且仅当吃掉分配的僵尸严格劣于同意分配方案时才会投赞同票。

给定N,现在你想活下去,并且获得至少M个大脑,请问至少需要多少大脑才能满足?

Input

第一行两个整数N,M。

Output

第一行一个整数表示至少需要的大脑个数。

Examples

zombie.in zombie.out
1 1 1
4 1 2
1 0 0
4 0

Notes

对于所有数据,1<=N<=10^9

Subtask 1(30 pts): M=1

Subtask 2(30 pts): M=0,N=1(mod 2)

Subtask 3(40 pts): M=0,N=0(mod 2)