#include <bits/stdc++.h>
using namespace std;
int u = 1, p, q;
int x = 0, y = 0;
int d = 0;
void a(int i);
void b(int i);
void c(int i);
void r(int i);
void a(int i) {
  if (d == q) {
    cout << x << ' ' << y << endl;
    exit(0);
  }
  if (i > 0) {
    r(i - 1);
    y += u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    a(i - 1);
    x += u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    a(i - 1);
    y -= u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    c(i - 1);
  }
}
void b(int i) {
  if (d == q) {
    cout << x << ' ' << y << endl;
    exit(0);
  }
  if (i > 0) {
    c(i - 1);
    y -= u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    b(i - 1);
    x -= u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    b(i - 1);
    y += u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    r(i - 1);
  }
}
void c(int i) {
  if (d == q) {
    cout << x << ' ' << y << endl;
    exit(0);
  }
  if (i > 0) {
    b(i - 1);
    x -= u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    c(i - 1);
    y -= u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    c(i - 1);
    x += u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    a(i - 1);
  }
}
void r(int i) {
  if (d == q) {
    cout << x << ' ' << y << endl;
    exit(0);
  }
  if (i > 0) {
    a(i - 1);
    x += u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    r(i - 1);
    y += u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    r(i - 1);
    x -= u;
    ++d;
    if (d == q) {
      cout << x << ' ' << y << endl;
      exit(0);
    }
    b(i - 1);
  }
}
int main() {
  cin >> p >> q;
  a(p);
}
