#include<stdio.h>
#define ll long long
#define N 1000006
ll n, k, res = 0;
ll f[N][3];
int cur[N];
ll solve(int i, int c) {
if(i == n) {
res++;
cur[i] = c;
if(res == k) {
for(int j = 1; j <= n; j++)
}
return 1;
}
if(f[i][c] != -1 && (res + f[i][c] < k || res >= k)) {
res += f[i][c];
if(res > k)
res = k + 1;
return f[i][c];
}
f[i][c] = 0;
cur[i] = c;
if(i % 2 == 1)
if(!c) {
f[i][c] += solve(i + 1, 1);
f[i][c] += solve(i + 1, 2);
}
else if(c == 1)
f[i][c] += solve(i + 1, 0);
else
f[i][c] += solve(i + 1, 1);
else
if(!c)
f[i][c] += solve(i + 1, 1);
else if(c == 1) {
f[i][c] += solve(i + 1, 0);
f[i][c] += solve(i + 1, 2);
}
else
f[i][c] += solve(i + 1, 0);
if(f[i][c] > k)
f[i][c] = k + 1;
return f[i][c];
}
int main() {
scanf("%lld%lld", &n
, &k
);
for(int i = 1; i <= n; i++)
for(int j = 0; j <= 2; j++)
f[i][j] = -1;
int ans = 0;
for(int i = 0; i <= 2; i++)
ans += solve(1, i);
// printf("%d", res);
if(res < k)
}
I2luY2x1ZGU8c3RkaW8uaD4KCiNkZWZpbmUgbGwgbG9uZyBsb25nCiNkZWZpbmUgTiAxMDAwMDA2CgpsbCBuLCBrLCByZXMgPSAwOwpsbCBmW05dWzNdOwppbnQgY3VyW05dOwoKCmxsIHNvbHZlKGludCBpLCBpbnQgYykgewogICAgaWYoaSA9PSBuKSB7CiAgICAgICAgcmVzKys7CiAgICAgICAgY3VyW2ldID0gYzsKICAgICAgICBpZihyZXMgPT0gaykgewogICAgICAgICAgICBmb3IoaW50IGogPSAxOyBqIDw9IG47IGorKykKICAgICAgICAgICAgICAgIHByaW50ZigiJWQgIiwgY3VyW2pdKTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIDE7CiAgICB9CiAgICAKICAgIGlmKGZbaV1bY10gIT0gLTEgJiYgKHJlcyArIGZbaV1bY10gPCBrIHx8IHJlcyA+PSBrKSkgewogICAgICAgIHJlcyArPSBmW2ldW2NdOwogICAgICAgIGlmKHJlcyA+IGspCiAgICAgICAgICAgIHJlcyA9IGsgKyAxOwogICAgICAgIHJldHVybiBmW2ldW2NdOwogICAgfQoKICAgIGZbaV1bY10gPSAwOwogICAgY3VyW2ldID0gYzsKICAgIGlmKGkgJSAyID09IDEpCiAgICAgICAgaWYoIWMpIHsKICAgICAgICAgICAgZltpXVtjXSArPSBzb2x2ZShpICsgMSwgMSk7CiAgICAgICAgICAgIGZbaV1bY10gKz0gc29sdmUoaSArIDEsIDIpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKGMgPT0gMSkgCiAgICAgICAgICAgIGZbaV1bY10gKz0gc29sdmUoaSArIDEsIDApOwogICAgICAgIGVsc2UgCiAgICAgICAgICAgIGZbaV1bY10gKz0gc29sdmUoaSArIDEsIDEpOwogICAgZWxzZSAKICAgICAgICBpZighYykKICAgICAgICAgICAgZltpXVtjXSArPSBzb2x2ZShpICsgMSwgMSk7CiAgICAgICAgZWxzZSBpZihjID09IDEpIHsKICAgICAgICAgICAgZltpXVtjXSArPSBzb2x2ZShpICsgMSwgMCk7CiAgICAgICAgICAgIGZbaV1bY10gKz0gc29sdmUoaSArIDEsIDIpOwoKICAgICAgICB9CiAgICAgICAgZWxzZSAKICAgICAgICAgICAgZltpXVtjXSArPSBzb2x2ZShpICsgMSwgMCk7CiAgICBpZihmW2ldW2NdID4gaykgCiAgICAgICAgZltpXVtjXSA9IGsgKyAxOwogICAgcmV0dXJuIGZbaV1bY107Cn0KCmludCBtYWluKCkgewogICAgCiAgICBzY2FuZigiJWxsZCVsbGQiLCAmbiwgJmspOwogICAgCiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG47IGkrKykKICAgICAgICBmb3IoaW50IGogPSAwOyBqIDw9IDI7IGorKykKICAgICAgICAgICAgZltpXVtqXSA9IC0xOwogICAgICAgIAogICAgaW50IGFucyA9IDA7CiAgICBmb3IoaW50IGkgPSAwOyBpIDw9IDI7IGkrKykgCiAgICAgICAgYW5zICs9IHNvbHZlKDEsIGkpOwoKICAgIC8vIHByaW50ZigiJWQiLCByZXMpOwoKICAgIGlmKHJlcyA8IGspCiAgICAgICAgcHJpbnRmKCJJTkZJTklUWSIpOwp9