#include <stdio.h>
#include <stdlib.h>
typedef struct No{
int chave;
struct No* esq;
struct No* dir;
} No;
typedef No* ABB;
ABB inserir(ABB ,No* );
void Red (ABB );
void eRd (ABB );
void edR (ABB );
int main() {
int n,i;
ABB A;
scanf("%d",&n);
for(i = 0; i<n; i++)
{
int m, j,folha;
scanf("%d",&m);
A = NULL;
for(j = 0; j < m; j++)
{
scanf("%d",&folha);
No * novo = (No*) malloc ( sizeof (No));
novo->chave = folha;
A = inserir(A, novo);
}
printf("Pre.:");
Red (A);
}
return 0;
}
ABB inserir(ABB raiz ,No* novo){
if(raiz == NULL) return novo;
if(novo->chave > raiz->chave)
raiz->esq = inserir(raiz->esq ,novo);
else
raiz->dir = inserir(raiz->dir,novo);
return novo;
}
void Red (ABB raiz){
if(raiz != NULL){
printf("%d",raiz->chave);
Red(raiz->esq);
Red(raiz->dir);
}
}
void eRd (ABB raiz){
if(raiz != NULL){
eRd(raiz->esq);
printf("%d ",raiz->chave);
eRd(raiz->dir);
}
}
void edR (ABB raiz){
if(raiz != NULL){
edR(raiz->esq);
edR(raiz->dir);
printf("%d ",raiz->chave);
}
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KIHR5cGVkZWYgc3RydWN0IE5vewogICAgIGludCBjaGF2ZTsKICAgc3RydWN0IE5vKiBlc3E7CiAgICAgc3RydWN0IE5vKiBkaXI7CiB9IE5vOwogdHlwZWRlZiBObyogQUJCOwoKQUJCIGluc2VyaXIoQUJCICxObyogKTsgCnZvaWQgUmVkIChBQkIgKTsKdm9pZCBlUmQgKEFCQiApOwp2b2lkIGVkUiAoQUJCICk7CgoKaW50IG1haW4oKSB7CgogICAgaW50IG4saTsKCUFCQiBBOwoJc2NhbmYoIiVkIiwmbik7Cglmb3IoaSA9IDA7IGk8bjsgaSsrKQoJewoJCWludCBtLCBqLGZvbGhhOwoJCXNjYW5mKCIlZCIsJm0pOwoJCUEgPSBOVUxMOwoJCWZvcihqID0gMDsgaiA8IG07IGorKykKCQl7CgkJCXNjYW5mKCIlZCIsJmZvbGhhKTsKCQkJTm8gKiBub3ZvID0gKE5vKikgbWFsbG9jICggc2l6ZW9mIChObykpOwoJCQlub3ZvLT5jaGF2ZSA9IGZvbGhhOwoJCQlBID0gaW5zZXJpcihBLCBub3ZvKTsKCQl9CgkJcHJpbnRmKCJQcmUuOiIpOwoJCVJlZCAoQSk7Cgl9CiAKICAgIHJldHVybiAwOwp9CgpBQkIgaW5zZXJpcihBQkIgcmFpeiAsTm8qIG5vdm8pewogICAgaWYocmFpeiA9PSBOVUxMKSByZXR1cm4gbm92bzsKICAgIGlmKG5vdm8tPmNoYXZlID4gcmFpei0+Y2hhdmUpCiAgICByYWl6LT5lc3EgPSBpbnNlcmlyKHJhaXotPmVzcSAsbm92byk7CiAgICBlbHNlCiAgICAgICAgcmFpei0+ZGlyID0gaW5zZXJpcihyYWl6LT5kaXIsbm92byk7CiAgICByZXR1cm4gbm92bzsKfSAgICAgICAgIAoKdm9pZCBSZWQgKEFCQiByYWl6KXsKICAgIGlmKHJhaXogIT0gTlVMTCl7CiAgICAgICAgcHJpbnRmKCIlZCIscmFpei0+Y2hhdmUpOwogICAgICAgIFJlZChyYWl6LT5lc3EpOwogICAgICAgIFJlZChyYWl6LT5kaXIpOwogICAgfQp9Cgp2b2lkIGVSZCAoQUJCIHJhaXopewogICAgaWYocmFpeiAhPSBOVUxMKXsKICAgICAgICBlUmQocmFpei0+ZXNxKTsKICAgICAgICAgcHJpbnRmKCIlZCAiLHJhaXotPmNoYXZlKTsKICAgICAgICBlUmQocmFpei0+ZGlyKTsKICAgIH0KfQoKdm9pZCBlZFIgKEFCQiByYWl6KXsKICAgIGlmKHJhaXogIT0gTlVMTCl7CiAgICAgICAgZWRSKHJhaXotPmVzcSk7CiAgICAgICAgZWRSKHJhaXotPmRpcik7CiAgICAgICAgcHJpbnRmKCIlZCAiLHJhaXotPmNoYXZlKTsKICAgIH0KfQ==