#include <bits/stdc++.h>
#define int long long
using namespace std;
int solve( int k, int x, int y ) {
if( k == 0 ) {
return 0;
}
int mid = 1LL << ( k - 1 );
int block = 1LL << ( 2 * ( k - 1 ) );
if( x <= mid && y <= mid ) {
return solve( k - 1, y, x );
}
else if( x <= mid && y > mid ) {
return block + solve( k - 1, x, y - mid );
}
else if( x > mid && y > mid ) {
return 2 * block + solve( k - 1, x - mid, y - mid );
}
return 3 * block + solve( k - 1, mid - y + 1, 2 * mid - x + 1 );
}
signed main() {
ifstream cin( "fractal.in" );
ofstream cout( "fractal.out" );
int k;
int x, y;
cin >> k >> x >> y;
cout << solve( k, x, y );
return 0;
}