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

题目描述

给出v, k,请你找到最小的正整数n,满足:
n的二进制表示下存在一个长度为v的回文串,该回文串首尾都是1且n的二进制表示中至少有k个1。保证v,k均为偶数!
由于n可能很大,你只需要输出对取模的结果。

输入描述:

两个整数v, k。保证v,k均为偶数!

输出描述:

一个整数,表示n对取模的结果。
示例1

输入

复制
6 4

输出

复制
45

说明

样例的构造方法为:101101
示例2

输入

复制
2 4

输出

复制
15

说明

最优的构造方法为:1111

备注: