#include<algorithm>
#define DIM 21
using namespace std ;
int cad1(int k,int x,int y) {
if(x<=(1<<(k-1))) {
if(y<=(1<<(k-1)))
return 1;
}
return 0;
}
int cad2(int k,int x,int y) {
if(x<=(1<<(k-1))) {
if(y>(1<<(k-1)))
return 1;
}
return 0;
}
int cad3(int k,int x,int y) {
if(x>(1<<(k-1))) {
if(y>(1<<(k-1)))
return 1;
}
return 0;
}
int cad4(int k,int x,int y) {
if(x>(1<<(k-1))) {
if(y<=(1<<(k-1)))
return 1;
}
return 0;
}
int f(int k,int x,int y) {
if(k==0)
return 1;
if(cad1(k,x,y)) {
return f(k-1,y,x);
}
if(cad2(k,x,y)) {
return (1<<(k-1))*(1<<(k-1))+f(k-1,x,y-(1<<(k-1)));
}
if(cad3(k,x,y)) {
return (1<<(k-1))*(1<<(k-1))*2+f(k-1,x-(1<<(k-1)),y-(1<<(k-1)));
}
if(cad4(k,x,y)) {
return 3*(1<<(k-1))*(1<<(k-1))+f(k-1,(1<<(k-1))-y+1,((1<<k)-x+1));
}
}
int main()
{
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
int k , x , y , rez;
scanf("%d%d%d",&k,&x,&y);
rez=f(k,x,y);
printf("%d\n",rez-1);
return 0 ;
}