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

int main(){
  int *A;
  int H, i;

  scanf("%d",&H);
  A = malloc(sizeof(int)*(H+1));
  for(i = 1; i < H+1; i++) scanf("%d",&A[i]);

  for(i = 1; i < H+1; i++){
    printf("node %d: key = %d, ",i,A[i]);

    if(((i/2) >= 1) && ((i/2) < H)) printf("parent key = %d, ",A[i/2]);
    if(((i*2) > 1) && ((i*2) <= H)) printf("left key = %d, ",A[i*2]);
    if(((i*2+1) > 2) && ((i*2+1) <= H)) printf("right key = %d, ",A[i*2+1]);
    printf("\n");
  }
  
  free(A);
  
  return 0;
}
