m,k = gets.split.map(&:to_i)
if k >= 2**m || (m == 1 && k == 1)
    puts "-1"
else
    ans = [] 
    ans << k if k != 0
    (2**m).times do |i|
        if i != k
            ans << i
        end
    end
    ans << k
    ans << k if k == 0
    (2**m).times do |i|
        if 2**m-1-i != k
            ans << 2**m-1-i
        end
    end
    puts ans.join(" ")
end