← Home
package main

import (
	"bufio"
	"fmt"
	"os"
)

func main() {
	in := bufio.NewReader(os.Stdin)
	out := bufio.NewWriter(os.Stdout)
	defer out.Flush()

	var h int
	var n uint64
	fmt.Fscan(in, &h, &n)

	var ans uint64
	dir := 0

	for h > 0 {
		half := uint64(1) << uint(h-1)
		if dir == 0 {
			if n <= half {
				ans++
				dir = 1
			} else {
				ans += (uint64(1) << uint(h+1)) - 1
				n -= half
			}
		} else {
			if n > half {
				ans++
				n -= half
				dir = 0
			} else {
				ans += (uint64(1) << uint(h+1)) - 1
			}
		}
		h--
	}

	fmt.Fprintln(out, ans)
}