#include <stdio.h>
int Parent(int);
int left(int);
int right(int);
int main()
{
  int n,i;
  int key[250];
  int par,L,R;
  scanf("%d",&n);
  for(i=1;i<=n;i++){
    scanf("%d",&key[i]);
  }
  for(i=1;i<=n;i++){
      printf("node %d: key = %d,  ",i,key[i]);
      if(i>1){
	par=Parent(i);
       printf("parent key = %d, ",key[par]);
      }
       L=left(i);
       R=right(i);
       if(L<=n){
	 printf("left key = %d, ",key[L]);
       }
       if(R<=n){
	 printf("right key = %d, ",key[R]);
       }
	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;
}