#P965. 集合的运算

集合的运算

描述 Description

在计算机科学应用中,我们经常要用到集合的运算,集合的运算操作有很多,下面是我们给出的集合基本运算定义: (1)“∪”运算:设S,T是2个集合,那么S∪T是由S和T的元素组成的集合。

(2)“-”运算:设S,T是2个集合,那么S-T是由S中非T中的元素组成的集合。

(3)“∩”运算:设S,T是2个集合,那么S∩T是由既是S又是T的元素组成的集合。“⊕” 运算:设S,T是2个集合,那么S⊕T是由S中不是T中的元素和T中不是S中的元素组成的集合。

例如,S={1,2,3,4},T={3,4,5,6},那么:

S∪T={1,2,3,4,5,6} S-T={1,2}

S∩T={3,4} S⊕T={1,2,5,6}

你的任务就是:对于输入文件中给出的正整数集合S、T,编程求出S∪T,S-T,S∩T和S⊕T。

输入格式 Input Format

第1行,为集合S的各元素;

第2行,为集合T的各元素;

每行数据之间用空格分开,集合元素的个数≤10000,各正整数在1到30000之间。

输出格式 Output Format

第1行为集合S∪T;

第2行为集合S-T;

第3行为集合S∩T;

第4行为集合S⊕T。

要求:集合的元素按由小到大顺序输出,正整数之间用空格分开;如果是空集,则输出-1。

样例输入 Sample Input

9 3 7 6 5
10 5 4 3 2 7

样例输出 Sample Output

2 3 4 5 6 7 9 10
6 9
3 5 7
2 4 6 9 10