#1402. 集合序列

集合序列

当前没有测试数据。

集合序列

题目描述

定义集合S1S_111nn之间所有正整数组成的集合,即S1={1,2,3,,n}S_1=\{1,2,3,\ldots,n\}。当k>1k>1时,SkS_k为集合Sk1S_{k-1}中任意两个不相同数之和构成的集合。

例如,当n=3n=3时:

  • S1={1,2,3}S_1=\{1,2,3\}
  • S2={3,4,5}S_2=\{3,4,5\}
  • S3={7,8,9}S_3=\{7,8,9\}
  • S4={15,16,17}S_4=\{15,16,17\}
  • \ldots

现将每个集合中所有元素取出,集合SiS_i的数放在集合Si+1S_{i+1}的数的前面,同一个集合的数从小到大排序,这样得到一个序列LL。例如,当n=3n=3时,L=1,2,3,3,4,5,7,8,9,15,16,17,L=1,2,3,3,4,5,7,8,9,15,16,17,\ldots

那么,现对于给定的nnkk,求LL中第kk个数。

输入格式

输入包含11行,为22个正整数nnkk,两个整数用空格隔开。

输出格式

输出包含11行,为一个正整数,即序列LL中第kk个数。若这个数不存在,则输出1-1

数据范围与提示

  • 对于20%20\%的数据,有k20k \leq 20
  • 对于40%40\%的数据,有k10000k \leq 10000n5n \leq 5
  • 对于50%50\%的数据,满足答案不超过23112^{31}-1
  • 对于60%60\%的数据,有k2301k \leq 2^{30}-1
  • 对于80%80\%的数据,有k10100k \leq 10^{100}
  • 对于100%100\%的数据,有k101000k \leq 10^{1000}1n10001 \leq n \leq 1000,对于n3n \leq 3k90000k \leq 90000

样例

4 6
4