#include<iostream>
#include<iterator>
#include<algorithm>
#include<string>
#include<set>
using namespace std;
void outstring(string str){cout<<str<<" "<<endl;}
int main()
{
set<string>Mat;
set<string>Pat;
string temp;
cout<<" mat,please enter name :"<<endl;
cin>>temp;
while(temp!="q")
{
Mat.insert(Mat.begin(),temp);
cout<<"\nMat,enter name : "<<endl;
cin>>temp;
}
cout<<"Mat's friend list: ";
for_each(Mat.begin(),Mat.end(),outstring);
cout<<" Pat,please enter name :"<<endl;
cin>>temp;
while(temp!="q")
{
Pat.insert(Pat.begin(),temp);
cout<<"\npat,enter name : "<<endl;
cin>>temp;
}
cout<<"Mat's friend list: ";
for_each(Pat.begin(),Pat.end(),outstring);
set<string>All;
set_union(Mat.begin(),Mat.end(),Pat.begin(),Pat.end(),insert_iterator<set<string>>(All,All.begin()));
cout<<"\nAll list: ";
for_each(All.begin(),All.end(),outstring);
cin.get();
cin.get();
return 0;
}