#include<iostream>
#include<map>
#include<vector>
#include<string>
#include<algorithm>
using namespace std;
bool cmp(string a,string b){
if(a!=b) return a<b;
}
int main(){
#ifdef ONLINE_JUDGE
#else
freopen("in.txt","r",stdin);
#endif
int n;
cin>>n;
vector<string> st,stt;
map<string,string> mp;
for(int i=0;i<n;i++){
string m,fm;
cin>>m>>fm;
mp[m]=fm;
mp[fm]=m;
}
int q;
cin>>q;
for(int i=0;i<q;i++){
string temp;
cin>>temp;
if(mp[temp]=="")
st.push_back(temp);
else
stt.push_back(temp);
}
map<string,int> hash;
for(int i=0;i<stt.size();i++){
hash[stt[i]]++;
hash[mp[stt[i]]]++;
}
for(int i=0;i<stt.size();i++){
if(hash[stt[i]]==1){
st.push_back(stt[i]);
}
}
sort(st.begin(),st.end(),cmp);
cout<<st.size()<<endl;
for(int i=0;i<st.size();i++){
if(i==0) cout<<st[i];
else cout<<' '<<st[i];
}
//cout<<endl;//这里出现第二个格式错误??字符串的原因?
return 0;
}