#include <bits/stdc++.h>
using namespace std;
struct TreeNode{
int val;
TreeNode* right;
TreeNode* left;
TreeNode(int val):left(nullptr),right(nullptr),val(val){};
};
vector<int>top(TreeNode* root){
vector<int>ans;
if(root == nullptr)return ans;
queue<TreeNode*>q;
q.push(root);
while(!q.empty()){
int size = q.size();
for(int i = 0;i<size;i++){
auto u= q.front();
q.pop();
if(i == size-1)ans.push_back(u->val);
if(u->left){
q.push(u->left);
}
if(u->right){
q.push(u->right);
}
}
}
return ans;
}
TreeNode* buildTree(){
int x;cin>>x;
if(x==-1)return nullptr;
TreeNode* root = new TreeNode(x);
queue<TreeNode*>q;
q.push(root);
while(!q.empty()){
auto u = q.front();
q.pop();
if(cin>>x && x!=-1){
u->left = new TreeNode(x);
q.push(u->left);
}
if(cin>>x && x!=-1){
u->right = new TreeNode(x);
q.push(u->right);
}
}
return root;
}
int main() {
TreeNode* root = buildTree();
vector<int>ans = top(root);
for(auto x : ans){
cout<<x<<endl;
}
return 0;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnN0cnVjdCBUcmVlTm9kZXsKCWludCB2YWw7CglUcmVlTm9kZSogcmlnaHQ7CglUcmVlTm9kZSogbGVmdDsKCVRyZWVOb2RlKGludCB2YWwpOmxlZnQobnVsbHB0cikscmlnaHQobnVsbHB0ciksdmFsKHZhbCl7fTsKfTsKCnZlY3RvcjxpbnQ+dG9wKFRyZWVOb2RlKiByb290KXsKICB2ZWN0b3I8aW50PmFuczsKICBpZihyb290ID09IG51bGxwdHIpcmV0dXJuIGFuczsKICAKICBxdWV1ZTxUcmVlTm9kZSo+cTsKICBxLnB1c2gocm9vdCk7CiAgCiAgd2hpbGUoIXEuZW1wdHkoKSl7CiAgCWludCBzaXplID0gcS5zaXplKCk7CiAgCQogIAlmb3IoaW50IGkgPSAwO2k8c2l6ZTtpKyspewogIAlhdXRvIHU9IHEuZnJvbnQoKTsKICAJcS5wb3AoKTsKICAJCiAgCWlmKGkgPT0gc2l6ZS0xKWFucy5wdXNoX2JhY2sodS0+dmFsKTsJCiAgCQogIAlpZih1LT5sZWZ0KXsKICAJCXEucHVzaCh1LT5sZWZ0KTsKICAJfQogIAkKICAJaWYodS0+cmlnaHQpewogIAkJcS5wdXNoKHUtPnJpZ2h0KTsKICAJfQogIH0KICB9CgogIHJldHVybiBhbnM7Cn0KVHJlZU5vZGUqIGJ1aWxkVHJlZSgpewoJaW50IHg7Y2luPj54OwoJaWYoeD09LTEpcmV0dXJuIG51bGxwdHI7CglUcmVlTm9kZSogcm9vdCA9IG5ldyBUcmVlTm9kZSh4KTsKCQoJcXVldWU8VHJlZU5vZGUqPnE7CglxLnB1c2gocm9vdCk7CgkKCXdoaWxlKCFxLmVtcHR5KCkpewoJCWF1dG8gdSA9IHEuZnJvbnQoKTsKCQlxLnBvcCgpOwoJCQoJCWlmKGNpbj4+eCAmJiB4IT0tMSl7CgkJCXUtPmxlZnQgPSBuZXcgVHJlZU5vZGUoeCk7CgkJCXEucHVzaCh1LT5sZWZ0KTsKCQl9CgkJCgkJaWYoY2luPj54ICYmIHghPS0xKXsKCQkJdS0+cmlnaHQgPSBuZXcgVHJlZU5vZGUoeCk7CgkJCXEucHVzaCh1LT5yaWdodCk7CgkJfQoJfQoJcmV0dXJuIHJvb3Q7Cn0KaW50IG1haW4oKSB7CiAgICBUcmVlTm9kZSogcm9vdCA9IGJ1aWxkVHJlZSgpOwogICB2ZWN0b3I8aW50PmFucyA9IHRvcChyb290KTsKICAgIAogICAgZm9yKGF1dG8geCA6IGFucyl7CiAgICAJCiAgICAJY291dDw8eDw8ZW5kbDsKICAgIH0KCXJldHVybiAwOwp9