#include #include #include using namespace std; string grey(const int n, const int k) { if (n == 0) return ""; if (k < (1u << (n - 1))) return "0" + grey(n - 1, k); return "1" + grey(n - 1, (1u << n) - 1 - k); } string grey_iter(int n, int k) { string res = ""; while (n > 0) { if (k < (1u << (n - 1))) { res += "0"; } else { res += "1"; k = (1u << n) - 1 - k; } n--; } return res; } int main(void) { int n, k; cin >> n >> k; cout << grey_iter(n, k) << endl; return 0; }