PAT 1121

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<vector>
#include<set>
#include<map>
using namespace std;

const int maxn=100010;
const int INF=100000;
set<int> sample,single;
int table[maxn];
vector<int> s;
int main()
{
	fill(table,table+maxn,INF);
	int n;
	scanf("%d",&n);
	int a,b,temp;
	for(int i=0;i<n;i++)
	{
		scanf("%d%d",&a,&b);
		table[a]=b;
		table[b]=a;
	}
	int m;
	scanf("%d",&m);
	for(int i=0;i<m;i++)
	{
		scanf("%d",&a);
		single.insert(a);
	}
	for(set<int>::iterator it=single.begin();it!=single.end();it++)
	{
		if(single.find(table[*it])!=single.end())
		{
			continue;
		}
		else
			s.push_back(*it);
	}
	PRintf("%d\n",s.size());
	for(vector<int>::iterator it=s.begin();it!=s.end();it++)
	{
		if(it!=s.begin()) printf(" ");
			printf("%05d",*it);	
	}
	system("pause");
	return 0;
}