1 #include<stdio.h>
 2 typedef struct{
 3     int element[50];
 4     int length;
 5 }SeqList;
 6 CreateSeqList(SeqList*S)
 7 {
 8     scanf("%d",&S->length);
 9     for(int i=0;i<S->length;i++)
10     scanf("%d",&S->element[i]);
11 }
12 MergeSeqList(SeqList A,SeqList B,SeqList*C)
13 {
14     int a=0,b=0,c=0;
15     while(a<A.length)
16     {
17         while(b<B.length&&B.element[b]<A.element[a])b++;
18         if(A.element[a]==B.element[b])
19         {
20             C->element[c]=A.element[a];
21             c++;
22         }
23         a++;
24     }
25     C->length=c;
26 }
27 DeleteSame(SeqList*C)
28 {
29     int p=0,q,r,t;
30     while(p<C->length)
31     {
32         for(q=p+1;q<C->length&&C->element[p]==C->element[q];q++);
33         if(q!=p+1)
34         {
35             t=p+1,r=q;
36             while(r<C->length)
37             C->element[t++]=C->element[r++]; 
38             C->length=C->length-q+p+1;
39         }
40         p++;
41     }
42 }
43 Order(SeqList*C)
44 {
45     for(int i=0;i<C->length;i++)
46     printf("%d ",C->element[i]);
47 }
48 int main()
49 {
50     SeqList A,B,C;
51     CreateSeqList(&A),CreateSeqList(&B);
52     MergeSeqList(A,B,&C);
53     DeleteSame(&C);
54     Order(&C);
55     return 0;
56     
57 }