#include <stdio.h>
#define MAX_H 300

int main(void) {
  int i, n;
  int A[MAX_H];
  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+1, 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]);
    }
    putchar('\n');
  }

  return 0;
}