#include <iostream> using namespace std; struct Node{ int val; Node *left, *right; Node(int _val):val(_val), left(NULL), right(NULL){} }*root; int n; void insert(Node* &root, int x, int last){ if(!root){ root = new Node(x); cout<<last<<endl; } else if(root->val < x) insert(root->right, x, root->val); else insert(root->left, x, root->val); } int main(){ while(cin>>n){ while(n--){ int x; cin>>x; insert(root, x, -1); } } return 0; }