#include <cstdio>
using namespace std;
int x, y, t, d;
int rec( int k, int x1, int y1, int x2, int y2 ){
if( k == 0 ) return 0;
else{
k--;
d = 1 << k;
int mid_x = ( x1 + x2 ) / 2;
int mid_y = ( y1 + y2 ) / 2;
if( x <= mid_x ){
if( y <= mid_y ){
return rec( k, x1, y1, mid_x, mid_y );
}
else{
return d * d * 3 + rec( k, x1, mid_y+1, mid_x, y2 );
}
}
if( x >= mid_x + 1 ){
if( y <= mid_y ){
return d * d + rec( k, mid_x+1, y1, x2, mid_y );
}
if( y >= mid_y + 1 ){
return d * 2 * d + rec( k, mid_x+1, mid_y+1, x2, y2 );
}
}
}
}
int main()
{
freopen("fractal.in","r",stdin);
freopen("fractal.out","w",stdout);
int d, s, k;
scanf("%d%d%d",&k,&x,&y);
printf("%d",rec( k, 1, 1,(1<<k),(1<<k) ));
return 0;
}