local readF = io.read('*a'):gmatch('%d+')localfunctionreadFunc()returntonumber(readF())endlocal numbers ={} tree ={} N =readFunc()for i =1, N do
table.insert(numbers,readFunc())end
table.sort(numbers,function(a, b)return a < b end)local number_index =1
generateTree =function(root_index)if root_index > N thenreturnendgenerateTree(root_index *2)
tree[root_index]= numbers[number_index]
number_index = number_index +1generateTree(root_index *2+1)endgenerateTree(1)print(table.concat(tree," "))