#include<stdio.h>
#include<stdlib.h>

void printfLeafNode(int *tree, int n){
    for(int i=0; i<n; i++){
        if(tree[i]== -1) continue;
        
        int left  = 2 * i + 1;
        int right  = 2 * i + 2;
        
        int isLeftNull = (left >= n || tree[left] == -1);
        int isRightNull = (right >= n || tree[right] == -1);
        
        if(isLeftNull && isRightNull){
            printf("%d ",tree[i]);
        }
    }
}
int main(){
    int n;
    scanf("%d",&n);
    
    int *tree = (int *)malloc(n * size(int));
    for(int i=0; i<n; i++){
        scanf("%d",&tree[i]);
    }
    
    LeafNode(tree,n);
    free(tree);
    return 0;
}