#include<stdio.h>
#define M 250
int main(void){
  int n,i,A[M];
  scanf("%d",&n);
  for(i=1;i<=n;i++)
    scanf("%d",&A[i]);
  for(i=1;i<=n;i++){
    printf("node  %d: key =  %d,",i,A[i]);
    if(i>1)
      printf(" parent key = %d,",A[i/2]);
    if(2*i<=n)
      printf(" left key =  %d,",A[2*i]);
    if(2*i+1<=n)
      printf(" right key =  %d,",A[2*i+1]);
    printf("\n");
  }
  return 0;
}