#include <stdio.h>
#include <stdlib.h>
//设置为带头结点
typedef struct ListNode
{
int data;
struct ListNode *next;
}LN,*LP;
LP Read(int n)
{
/**创建新节点*/
LP head=(LP)malloc(sizeof(LN));
head->next=NULL;
/**头节点创建完成*/
LP p;
int temp;
for(int i=0 ; i<n ; i++)
{
scanf("%d",&temp);
//printf("%d\n",temp);
/**创建新节点*/
LP newLN=(LP)malloc(sizeof(LN));
newLN->next=NULL;
newLN->data=temp;
//printf("%d\t",newLN);
/**新节点创建完成*/
if(head->next==NULL)
{
// printf("Yes\n");
head->next=newLN;
p=newLN;
// printf("%d\n",head->next);
}
else
{
p->next=newLN;
p=newLN;
// printf("%d\n",p->data);
}
}
// printf("成功输入!");
return head;
}
void Print(LP head,int n)
{
LP p=head->next;
for(int i=0 ; i<n ; i++)
{
printf("%d",p->data);
p=p->next;
}
}
int main()
{
int n;
scanf("%d",&n);
LP head=Read(n),head2=Read(n);
LP p=head->next,p2=head2->next,pre;
int x=0;
while(p!=NULL&&p2!=NULL)
{
if(p->data>p2->data)//模拟存储小数值
{
pre=p2;
p2=p2->next;
}
else if(p->data<p2->data)
{
pre=p;
p=p->next;
}
else
{
pre=p;
p=p->next;
}
x++;
if(x==n)
{
printf("%d",pre->data);
return 0;
}
}
return 0;
}