n = gets.to_i
a  = gets.split.map(&:to_i).unshift(0)

(1..n).each do |i|
    n_str = "node #{i}: key = #{a[i]}, "
    p_str = if i == 1 then "" else "parent key = #{a[i / 2]}, " end
    l_str = if a[i * 2] then "left key = #{a[i * 2]}, " else "" end
    r_str = if a[i * 2 + 1] then "right key = #{a[i * 2 + 1]}, " else "" end
    puts n_str + p_str + l_str + r_str
end

