#include <iostream>
#include <fstream>
#include <algorithm>
#include <map>
#include <vector>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int fractal(int k, int x, int y)
{
int power = (1 << (k - 1));
if (k == 1)
{
if (x == 1 && y == 1)
return 0;
if (x == 2 && y == 1)
return 1;
if (x == 2 && y == 2)
return 2;
if (x == 1 && y == 2)
return 3;
}
if (x <= power && y <= power)
return fractal(k - 1, y, x);
if (x <= power && y > power)
return power * power + fractal(k - 1, x, y - power);
if ((x > power && y > power))
return 2 * power * power + fractal(k - 1, x - power, y - power);
return 3 * power * power + fractal(k - 1, power - y + 1, 2 * power - x + 1);
}
int main()
{
int k, x, y;
fin >> k >> x >> y;
fout << fractal(k, x, y);
return 0;
}