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

