#include<stdio.h>
#include<stdlib.h>
struct TreeNode{
    int data;
    struct TreeNode *left;
    struct TreeNode *right;
};
struct TreeNode* createNode(int val){
        struct TreeNode* NewNode=(struct TreeNode*)malloc(sizeof(struct TreeNode));
        NewNode->data=val;
        NewNode->left=NewNode->right=NULL;
        return NewNode;
    }
struct TreeNode* insert(struct TreeNode*root,int value)
{
    if(root==NULL){
    return createNode(val);
}
if(val<root->data)
{
    root->left=insert(root->left,val);
}
    else if(val >root->data)
    {
    root->right=insert(root->right,val);
    return root;
int search(struct TreeNode*root,int target)
{
    if(root==NULL)
    {
        return 0;
    }
        if(root->data==target)
        {
        return 1;
        }
        else if(target <root->data)
        {
            return search(root->left,target);
        }
        else
        {
        return search(root->right,target);
    }
}
int main()
{
    int n;
    scanf("%d",&n); 
    if(n <=0)
    {
        printf("Invalid input");
        return 0;
    }
    struct TreeNode *root =NULL;
    int val;
    int i;
    for(i=0;i<n;i++)
    scanf("%d",&val);
    root=insert(root,val);
}
    int target;
scanf("%d",&target);
if(search(root, target))
{
printf("Found\n");
}
else
{
printf("Not Found\n");
}
return 0;
}