1
#include<bits/stdc++.h>
using namespace std;
int main()
{
ios::sync_with_stdio(0);
int t,c=1;
cin>>t;
while(t--){
set<int> s1;
set<int> s2;
set<int> s3;
set<int> s4;
int n,x;cin>>n;
set<int>::iterator it;
while(n--) { cin>>x; s1.insert(x); }
cin>>n;
while(n--) { cin>>x; s2.insert(x); }
cout<<"Case #"<<c++<<":\n";
set_intersection(s1.begin(), s1.end(), s2.begin(), s2.end(), inserter(s4, s4.begin()));
for(it=s4.begin();it!=s4.end();it++){
if(it==s4.begin()) cout<<*it; else cout<<" "<<*it;
}cout<<endl;
set_union(s1.begin(), s1.end(), s2.begin(), s2.end(),inserter(s3, s3.begin()));
for(it=s3.begin();it!=s3.end();it++){
if(it==s3.begin()) cout<<*it; else cout<<" "<<*it;
}cout<<endl;s4.clear();
set_difference(s3.begin(), s3.end(), s2.begin(), s2.end(), inserter(s4, s4.begin()));
for(it=s4.begin();it!=s4.end();it++){
if(it==s4.begin()) cout<<*it; else cout<<" "<<*it;
}cout<<endl;s4.clear();
set_difference(s3.begin(), s3.end(), s1.begin(), s1.end(), inserter(s4, s4.begin()));
for(it=s4.begin();it!=s4.end();it++){
if(it==s4.begin()) cout<<*it; else cout<<" "<<*it;
}cout<<endl;s4.clear();
}
return 0;
}
http://blog.youkuaiyun.com/liuwhitesnow/article/details/6720863