N, X= gets.split(" ").map(&:to_i)

def F(n, x) 
    return 1 if n == 0
    return 0 if x == 1
    pcnt = 2**(n + 1) - 1 #レベルｎのバーガーのうちパディの個数
    return 2**n if x == pcnt #xがバーガーの真ん中までだった場合
    return 2**(n + 1) - 1 if x == 2 * pcnt - 1 #xがバーガー全体だった場合
    if pcnt < x 
        2**n + F(n - 1, x - pcnt) #後半部分だけで数える
    else # pcnt > x 再帰的に求める
        F(n - 1, x - 1) 
    end
end

puts F(N, X)
