#include <bits/stdc++.h>
using namespace std;
int main()
{
int n, m, k; scanf("%d %d %d", &n, &m, &k);
vector<vector<int>> g(n);
while(m--){
int u, v; scanf("%d %d", &u, &v);
--u; --v;
g[u].push_back(v);
g[v].push_back(u);
}
vector<char> used(n, false);
used[0] = true;
function<void(int)> dfs = [&](int v){
used[v] = true;
for(auto i: g[v]){
if (!used[i]){
dfs(i);
}
}
};
while(k--){
int x; scanf("%d", &x);
--x;
dfs(x);
}
vector<int> ans;
for(auto i: g[0]){
if (used[i]){
ans.push_back(i);
}
}
cout << (int)ans.size() << endl;
sort(ans.begin(), ans.end());
for(auto i: ans){
cout << i + 1 << ' ';
}
cout << endl;
return 0;
}