N,X=gets.split.map(&:to_i)
AS=Array.new(N+1).map.with_index{|e,i|2**(i+2)-3}
PS=Array.new(N+1).map.with_index{|e,i|2**(i+1)-1}
def function(n,x)
  if n==0
    if x==0
      return 0
    else
      return 1
    end
  else
    if x==1
      return 0
    elsif x<=1+AS[n-1]
      return function(n-1,x-1)
    elsif x==1+AS[n-1]+1
      return PS[n-1]+1
    elsif x<=1+AS[n-1]+1+AS[n-1]
      return PS[n-1]+1+function(n-1,x-AS[n-1]-2)
    else
      return 1+PS[n-1]*2
    end
  end
end
puts function(N,X)
