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

struct node{
	int key;
	struct node *parent;
	struct node *left;
	struct node *right;
};

typedef struct node *Node;

Node root,NIL;

Node find(Node u,int k){
	while(u != NIL && k != u->key){
		if(k < u->key){ u = u->left; }
		else{ u = u->right; }
	}
	return u;
}

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

	Node z = (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(Node u){
	if(u == NIL){ return; }
	inorder(u->left);
	printf(" %d",u->key);
	inorder(u->right);
}

void preorder(Node u){
	if(u == NIL){ return; }
	printf(" %d",u->key);
	preorder(u->left);
	preorder(u->right);
}

void print(){
	inorder(root);
	puts("");
	preorder(root);
	puts("");
}

int main(){
	int n,i,j,z,x;
	char s[10];

	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%s",s);
		if(s[0] == 'f'){
			scanf("%d",&x);
			Node t = find(root,x);
			if(t == NIL)printf("no\n");
			else printf("yes\n");
		}
		else if(s[0] == 'i'){
			scanf("%d",&z);
			insert(z);
		}
		else{ print(); }
	}
	return 0;
}

