https://pintia.cn/problem-sets/994805342720868352/problems/994805352359378944
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
unordered_map<string,string>mp;
unordered_map<string,int>hush;
int n,m;
string s[N];
vector<string>ve;
int main(void)
{
cin>>n;
for(int i=0;i<n;i++)
{
string a,b; cin>>a>>b;
mp[a]=b,mp[b]=a;
}
cin>>m;
for(int i=0;i<m;i++) cin>>s[i],hush[s[i]]++;
for(int i=0;i<m;i++)
if(!hush[mp[s[i]]]) ve.push_back(s[i]);
cout<<ve.size()<<endl;
sort(ve.begin(),ve.end());
for(int i=0;i<ve.size();i++)
{
if(i) cout<<" ";
cout<<ve[i];
}
return 0;
}