水题。。
//
// main.cpp
// PATA1121
//
// Created by Phoenix on 2018/2/24.
// Copyright © 2018年 Phoenix. All rights reserved.
//
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 100010;
int couple[maxn], exist[maxn] = {0};
bool flag[maxn] = {false};
int main(int argc, const char * argv[]) {
fill(couple, couple + maxn, -1);
int n, m;
scanf("%d", &n);
for(int i = 0; i < n; i++) {
int a, b;
scanf("%d %d", &a, &b);
couple[a] = b;
couple[b] = a;
}
scanf("%d", &m);
for(int i = 0; i < m; i++) {
int a;
scanf("%d", &a);
flag[a] = true;
}
int num = 0, k = 0;
for(int i = 0; i < maxn; i++) {
if(flag[i] == true) {
if(flag[couple[i]] == false) num++;
}
}
printf("%d\n", num);
for(int i = 0; i < maxn; i++) {
if(flag[i] == true && flag[couple[i]] == false){
printf("%05d", i);
if(k < num - 1) printf(" ");
else printf("\n");
k++;
}
}
return 0;
}