#include<iostream>

using namespace std;

int binaryTree[20], lengthOfTree;
int leftChild(int idx){ return 2*idx; }
int rightChild(int idx){ return 2*idx+1; }
int parentIndex(int idx){ return idx/2; }

void traverseTree(int idx){
	if(idx >= lengthOfTree) return;
	cout << binaryTree[idx] << " ";
	traverseTree(leftChild(idx));
	traverseTree(rightChild(idx));
}

int main(){
	
	lengthOfTree = 15;
	for(int i = 1;i <= lengthOfTree;i++){
		cin >> binaryTree[i];  
	}
	traverseTree(1);
	cout << endl;

return 0;
}