A82889.汉堡汉堡汉

普及/提高-

官方

通过率:0%

时间限制:1.00s

内存限制:128MB

题目描述

在这个世界里,今天是圣诞节。fangz 在派对上制作一种“多维汉堡”。等级LL 的汉堡(L0L\ge 0)按如下方式定义:

  • 等级 00 汉堡:只有 一层肉饼(记作 PP)。
  • 等级 LL 汉堡(L1L\ge 1):自下而上依次为
    面包 BB、等级 L1L-1 汉堡、肉饼 PP、等级 L1L-1 汉堡、面包 BB

例如,用 PP 表示肉饼、BB 表示面包,则等级 11 汉堡为 BPBPBBPBPB(竖着叠放时从下到上读),等级 22 汉堡为 BBPBPBPBBBBPBPBPBB

现在有一个等级为 NN 的汉堡。Welcome24ever 会从最下方开始吃掉 XX 层(每层可能是 BBPP)。请计算:在这 XX 层中,吃到的肉饼层数是多少?

输入格式

输入由标准输入给出,格式如下:

NN XX

输出格式

输出等级 NN 汉堡从下往上数 XX 层中包含的肉饼数量。

输入输出样例

  • 输入#1

    2 7

    输出#1

    4
  • 输入#2

    1 1

    输出#2

    0
  • 输入#3

    50 4321098765432109

    输出#3

    2160549382716056

说明/提示

限制条件

  • 1N501 \leq N \leq 50
  • 1X1 \leq X \leq(等级 NN 汉堡的总层数)
  • N,XN, X 均为整数。

样例解释 1

等级 22 汉堡(BBPBPBPBB)的最下方 77 层中包含 44 块肉饼。

样例解释 2

等级 11 汉堡的最底层是面包。

样例解释 3

等级 5050 汉堡的层数已经大到无法用 3232 位整数表示。

首页