露西的蛋糕
题号:NC294005
时间限制:C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld

题目描述

\hspace{15pt}给你条宽度为 1,长度为 2^n 个单位长度的纸条。进行 m 次如下的对半折叠操作:
\hspace{23pt}\bullet\,每次都将当前纸条的后半截翻折到前半截之上。
\hspace{15pt}完成 m 次折叠后,在折叠后的纸条正面距离左侧 x 个单位长度的位置进行染色,求染色的部分在折叠前、距离原纸条左侧的单位长度。
\hspace{15pt}下图为 n=3,m=2 的折叠过程:

输入描述:

\hspace{15pt}在一行上输入三个正整数 n,m,x \left(0\le n-m\le 40;\ 1\le n,m\le 10^9;\ 1\le x\le 2^{n-m} \right)

输出描述:

\hspace{15pt}输出一个正整数,表示染色的部分在折叠前距离原纸条左侧的单位长度。
示例1

输入

复制
3 2 1

输出

复制
4

说明

\hspace{15pt}对于这个样例,折叠过程如题干图片所示。