#P1287. 集合运算

集合运算

题目背景

集合是数学中的一个概念,用通俗的话来讲就是:一大堆数在一起就构成了集合。

集合有如下的特性:

无序性:任一个集合中,每个元素的地位都是相同的,元素之间是无序的。

互异性:一个集合中,任何两个元素都认为是不相同的,即每个元素只能出现一次。

确定性:给定一个集合,任给一个元素,该元素或者属于或者不属于该集合,二者必居其一,不允许有模棱两可的情况出现。

一个集合内的元素个数称为该集合的大小。

交集是由所有同时属于两个集合的元素所构成的,就像两个集合相交;而并集是由所有属于其中任意一个集合的元素所构成的,就像两个集合合并。


题目描述

将两组若干0到63的整数依次加入集合A和B。

请依次求出:

1.集合A的大小

2.A∩B(集合A与集合B的交集)

3.A∪B(集合A与集合B的并集)


输入格式

第一行一个整数x(1≤x≤50),表示集合A的元素个数;

第二行x个整数a1,...,ax,表示依次加入集合A的各个元素(0~63的数,可能有重复);

第三行一个整数y(1≤y≤50),表示集合B的元素个数;

第四行y个整数b1,...,bx,表示依次加入集合B的各个元素(0~63的数,可能有重复)。

输出格式

第一行输出一个整数,表示集合A的元素个数;

第二行输出若干个整数,表示A∩B 中对应元素,从小到大输出,用空格隔开。如果是空集,则这一行什么也不输出,保留换行;

第三行输出若干个整数,表示A∪B中对应元素,从小到大输出,用空格隔开。


输入/输出样例

4
1 3 5 8
3
3 6 8
4
3 8
1 3 5 6 8

说明/提示

时间1000ms,内存256MiB