#include <stdio.h>
#define M 999999

int main(){
  int i, n;
  
  int 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 / 2 ==1 || i /2 >1 ) {
    	printf("parent key = %d, ", A[i/2]);
    }
    if ( i*2 < n ||  i*2 == n ) {
    	printf("left key = %d, ", A[i*2]);
    }
    if ( i*2+1 < n ||  i*2+1 == n) {
    	printf("right key = %d, ", A[i*2+1]);
    }  
    printf("\n");
  }
  return 0;
}
