
#N=gets.to_i
#S=gets.chomp
#A=(0...N).map{gets.to_i}
#sum=A.inject(&:+)
#B=gets.split.map(&:to_i)


M,K=gets.split.map(&:to_i)
if K>=2**M || (K==1 && M==1)
  puts -1
  exit(0)
end
if K==0
  puts (0..2**M-1).to_a+(0..2**M-1).to_a.reverse
  exit(0)
end
temp=(1..(K-1)).to_a+((K+1)..((2**M)-1)).to_a
puts [0,K,0]+temp+[K]+temp.reverse

