#!/bin/ruby def build_array(size, swaps) return -1 if swaps < 0 || size < 1 if swaps == 0 return [1] if size == 1 return -1 end #p "#{size} #{swaps}" array = build_array(size-1, swaps-(size-1)) #p "#{size} #{swaps}: Received #{array} from #{size-1}, #{swaps-(size-1)} Front" if array != -1 return array.unshift(size) else array = build_array(size-1, swaps-((size-1)/2)) #p "#{size} #{swaps}: Received #{array} from #{size-1}, #{swaps-((size-1)/2)} Front" if array != -1 return array.push(size) else return -1 end end end q = gets.strip.to_i for a0 in (0..q-1) len,c = gets.strip.split(' ').map(&:to_i) if (array = build_array len, c) == -1 p -1 else puts array.join ' ' end end