def parent(array, index)
  if(index != 1)
    "parent key = #{array[index/2]},"
  end
end
def keys(array, index)
  left = 2*index
  right = 2*index + 1
  if(left < array.length && right < array.length)
		"left key = #{array[left]}, right key = #{array[right]}"
	elsif(left < array.length && right >= array.length)
  	"left key = #{array[left]}" 
	elsif(right < array.length && left >= array.length)
		"right key = #{array[right]}" 
	end 
end

def read_tree(a)
  a.insert(0,0)
	for i in 1...(a.length)
   puts "node #{i}: key = #{a[i]}, #{parent(a, i)} #{keys(a, i)}"
  end
end

array = gets.chomp
array = gets.chomp
array = array.split().map(&:to_i)
read_tree(array);