#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int n, i, j, l, c, k, val;
int divide (int sum, int val, int o, int l2, int c2)
{
if (val == 0) return sum;
if (val >= 1)
{
int ad = val*val;
val /= 2;
if (o == 1)
{
if (l <= l2 && c <= c2) sum = divide(sum, val, 4, l2-val, c2-val);
if (l <= l2 && c > c2) sum = divide(sum+ad, val, 1, l2-val, c2+val);
if (l > l2 && c > c2) sum = divide(sum+2*ad, val, 1, l2+val, c2+val);
if (l > l2 && c <= c2) sum = divide(sum+3*ad, val, 2, l2+val, c2-val);
}
if (o == 2)
{
if (l <= l2 && c <= c2) sum = divide(sum+2*ad, val, 2, l2-val, c2-val);
if (l <= l2 && c > c2) sum = divide(sum+ad, val, 2, l2-val, c2+val);
if (l > l2 && c > c2) sum = divide(sum, val, 3, l2+val, c2+val);
if (l > l2 && c <= c2) sum = divide(sum+3*ad, val, 1, l2+val, c2-val);
}
if (o == 3)
{
if (l <= l2 && c <= c2) sum = divide(sum+2*ad, val, 3, l2-val, c2-val);
if (l <= l2 && c > c2) sum = divide(sum+3*ad, val, 4, l2-val, c2+val);
if (l > l2 && c > c2) sum = divide(sum, val, 2, l2+val, c2+val);
if (l > l2 && c <= c2) sum = divide(sum+ad, val, 3, l2+val, c2-val);
}
if (o == 4)
{
if (l <= l2 && c <= c2) sum = divide(sum, val, 1, l2-val, c2-val);
if (l <= l2 && c > c2) sum = divide(sum+3*ad, val, 3, l2-val, c2+val);
if (l > l2 && c > c2) sum = divide(sum+2*ad, val, 4, l2+val, c2+val);
if (l > l2 && c <= c2) sum = divide(sum+ad, val, 4, l2+val, c2-val);
}
}
return sum;
}
int main () {
fin >> k >> c >> l;
val = 1;
for (i = 1; i < k; i++)
val *= 2;
fout << divide (0, val, 4, val, val);
}