#include<stdio.h>
#include<stdlib.h>
main()
{
        int i, h, *a;
        scanf("%d", &h);
        a = (int*)malloc(sizeof(int) * h);
        for (i = 0; i < h; i++) {
                scanf("%d", &a[i]);
        }
        for (i = 0; i < h; i++) {
                printf("node %d: key = %d, ", i + 1, a[i]);
                if (i) {
                        printf("parent key = %d, ", a[(i + 1) / 2 - 1]);
                }
                if ((i + 1) * 2 <= h) {
                        printf("left key = %d, ", a[(i + 1) * 2 - 1]);
                }
                if ((i + 1) * 2 + 1 <= h) {
            printf("right key = %d, ", a[(i + 1) * 2]);
        }
                putchar('\n');
        }
        free(a);
}