#include <stdio.h>
#include <stdlib.h>
#define max 1000
typedef struct Node
{
int data;
struct Node*next;
}Node,*LinkList;//一般linklist表示头指针,node*表示结点指针
LinkList InitList()//初始化
{
LinkList l;
l=(LinkList)malloc(sizeof(Node));
l->next=NULL;
return l;
}
void input (int *ep)//跟头插法配套的小破函数
{
scanf("%d",ep);
}
void CreateLinkF(LinkList l,int n,void(*input)(int*))//wei插法包含初始化
{
LinkList p,s;
p=l;//(LinkList)malloc(sizeof(Node));
for(;n>0;n--)
{
s=(LinkList)malloc(sizeof(Node));
input(&s->data);
p->next=s,p=s;
//printf("%d",p->data);用来检验
}
p->next=NULL;
}
/*int GetElem(LinkList l,int i,int *e)//用*e返回第i个元素
{
LinkList p=l;
while(p!=NULL&&i>0)
{
p=p->next;
i--;
}
if(p==NULL||p==l) return 0;//不存在这个元素返回0
if(e!=NULL) *e=p->data;
return 1;
}*/
int chazhao(LinkList l,int e)//找e元素
{
LinkList p=l;
int i=0;
while(p!=NULL)
{
if(p->data==e) return i;//找到了返回位置
i++;
p=p->next;
}
return 0;//没找到返回0
}
void shanchu(LinkList l,int i)
{
LinkList p=l;
LinkList r;
while(i>1)
{
p=p->next;
i--;
}
r=p->next;
p->next=p->next->next;
free(r);
}
int main()
{
int m,n,p;
scanf("%d%d%d",&m,&n,&p);
LinkList l,j,k,c;
l=InitList();
j=(LinkList)malloc(sizeof(Node));
k=(LinkList)malloc(sizeof(Node));
c=(LinkList)malloc(sizeof(Node));
CreateLinkF(l,m,input);
CreateLinkF(j,n,input);
CreateLinkF(k,p,input);
LinkList y=l;
while(y->next!=NULL)
{
if(chazhao(j,y->data)!=0&&chazhao(k,y->data)!=0)
{c=y;
y=y->next;
shanchu(l,chazhao(l,c->data));}
else y=y->next;
}
y=l;
while(y->next!=NULL)
{
y=y->next;
printf("%d ",y->data);
}
return 0;
}