#include <iostream>
#include <ratio>
using namespace std;
struct TreeNode
{
int data;
TreeNode* leftchild;
TreeNode* rightchild;
TreeNode(int x):data(x),leftchild(NULL),rightchild(NULL){}
};
TreeNode* Insert(TreeNode* root,int x,int father)
{
if(root==NULL)
{
root=new TreeNode(x);//每次插入成功后,
cout<<father<<endl;//求相应的父亲节点的关键字值
}
else if(x<root->data)
{
root->leftchild=Insert(root->leftchild,x,root->data);
}
else {
root->rightchild=Insert(root->rightchild,x,root->data);
}
return root;
}
int main() {
int n;
while (cin >> n) {
TreeNode* root=NULL;//
for(int i=1;i<=n;i++)
{
int x;
cin>>x;
root=Insert(root,x,-1);//不断更新root节点
}
}
}