#include <stdio.h>
#include <stdlib.h>

int parent(int);
int left(int);
int right(int);

int N;

int main(){
  int i,p,l,r;

  scanf("%d",&N);
  int ARRAY[N];

  for(i=1;i<=N;i++){
    scanf("%d",&ARRAY[i]);
  }

  for(i=1;i<=N;i++){
    printf("node %d:",i);
    printf(" key = %d, ",ARRAY[i]);
    p=parent(i);
    if(i!=1){
    printf("parent key = %d, ",ARRAY[p]);
  }
    l=left(i);
   //printf("%d\n",l);
    if(N>l){
      printf("left key = %d, ",ARRAY[l]);
    }
    r=right(i);
    //printf("%d\n",r);
    if(N>=r){
    printf("right key = %d, ",ARRAY[r]);
  }
  printf("\n");
  }
//  printf("\n");

  return 0;
}

int parent(int i){
    return i/2;
  }

int left(int i){
    return 2*i;
  }

int right(int i){
    return 2*i + 1;
}