
#include<iostream>
using namespace std;
typedef int ElemType;
typedef struct LNode {
ElemType data;
struct LNode* next;
}LNode,*LinkList;
void Create_LinkList(LinkList& L,int n) {
L = new LNode;
L->next = NULL;
LNode* r;
r = L;
for (int i = 0; i < n; i++) {
LNode* p;
p = new LNode;
cin >> p->data;
p->next = NULL;
r->next = p;
r = p;
}
}
void FindSame(LinkList& B, LinkList C,LinkList &L) {
LNode* p,*q,*temp;
L = temp = B;
p = B->next;
q = C->next;
while (p && q) {
if (p->data == q->data) {
temp->next = p;
temp = p;
p = p->next;
q = q->next;
}
else if (p->data < q->data)
p = p->next;
else
q = q->next;
}
}
void Delect(LinkList B, LinkList& A) {
LNode* pa, * qa, * pb, * temp;
qa = A;
pa = A->next;
pb = B->next;
while (pa && pb) {
if (pa->data == pb->data) {
temp = pa;
pa = pa->next;
qa->next = pa;
pb = pb->next;
free(temp);
}
else if (pa->data < pb->data) {
pa = pa->next;
qa = qa->next;
}
else
pb = pb->next;
}
}
void Show(LinkList L) {
LNode* p;
p = L->next;
while (p) {
cout << p->data << " ";
p = p->next;
}
}
void main() {
LinkList A, B, C,L;
int a, b, c;
cin >> a >> b >> c;
Create_LinkList(A, a);
Create_LinkList(B, b);
Create_LinkList(C, c);
FindSame(B, C,L);
Delect(L, A);
Show(A);
}