#include<stdio.h>
#include<string.h>
#include<stdlib.h>

struct Node{
    int key;
    struct Node *parent,*right,*left;
};

struct Node *root,*NIL;

struct Node *find(struct Node *x, int y){
    while(x!=NIL && y!=x->key){
        if(y<x->key)x=x->left;
        else x=x->right;
    }
    return x;
}

void insert(int k){
struct Node *y=NIL;
struct Node *x=root;
struct Node *z;

z=(struct Node *)malloc(sizeof(struct Node));
z->key=k;
z->left=NIL;
z->right=NIL;

while(x!=NIL){
    y=x;
    if(z->key<x->key){
        x=x->left;
    }
    else x=x->right;
}
z->parent=y;
if(y==NIL){
    root=z;
}
else{
    if(z->key<y->key){
        y->left=z;
    }
    else y->right=z;
}
}
void inorder(struct Node *u){
    if(u==NIL) return;
    inorder(u->left);
    printf(" %d",u->key);
    inorder(u->right);
}

void preorder(struct Node *u){
    if(u==NIL)return;
    printf(" %d",u->key);
    preorder(u->left);
    preorder(u->right);
}
int main(){
    int n,i,x;
    char str[10];
   scanf("%d",&n);

    for(i=0;i<n;i++){
        scanf("%s",str);
       
        if(str[0]=='i'){
            scanf("%d",&x);
            insert(x);
        }
        
        else if(str[0]=='p'){
            inorder(root);
            printf("\n");
            preorder(root);
            printf("\n");
        }
        else if(str[0]=='f'){
            scanf("%d",&x);
            struct Node *f=find(root,x);
            if(f!=NIL)printf("yes\n");
            else printf("no\n");
        }
    }
    return 0;
}

