#include<iostream>
#include<queue>
using namespace std;
typedef struct Node{
int data;
int level = 0;
struct Node *left;
struct Node *right;
}Node,*Root;
queue<Node*> last_judge;
int Level_Sum[20];
int Max = 0;
void Creat(Root &r,int n){
r->left = NULL;
r->right = NULL;
r->level = 1;
int ini = 0;
Level_Sum[r->level] = 1;
while(n--){
int t;
cin>>t;
if(!ini){
r->data = t;
ini = 1;
r->id = 1;
}
else{
Node *root = r;
Node *p = new Node;
p->left = NULL;p->right = NULL;
p->data = t;
while(true){
if(root->data < t){
if(root->left == NULL){
root->left = p;
p->level = root->level + 1;
Level_Sum[p->level]++;
if(p->level > Max)Max = p->level;
break;
}
else root = root->left;
}
else{