#include <bits/stdc++.h>
using namespace std;
const int MAXN = 1e5 + 7;
vector <int>a[MAXN];
int n, m, dist[MAXN], k, p[MAXN];
queue <int> q;
int main(){
ios_base::sync_with_stdio(0);
cout.tie(0);
cin.tie(0);
cin >> n >> m >> k;
for(int i = 1; i <= k ; i++) cin >> p[i];
for(int i = 1; i <= m; i++){
int x, y;
cin >> x >> y;
a[x].push_back(y);
a[y].push_back(x);
}
fill(dist + 1, dist + 1 + n, INT_MAX);
q.push(n);
dist[n] = 0;
while(!q.empty()){
int u = q.front();
q.pop();
for(auto v : a[u]){
if(dist[v] > dist[u] + 1){
dist[v] = dist[u] + 1;
q.push(v);
}
}
}
for(int i = 1; i <= k; i++) cout << dist[p[i]] << ' ';
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmNvbnN0IGludCBNQVhOID0gMWU1ICsgNzsKdmVjdG9yIDxpbnQ+YVtNQVhOXTsKaW50IG4sIG0sIGRpc3RbTUFYTl0sIGssIHBbTUFYTl07CnF1ZXVlIDxpbnQ+IHE7CgppbnQgbWFpbigpewogICAgaW9zX2Jhc2U6OnN5bmNfd2l0aF9zdGRpbygwKTsKICAgIGNvdXQudGllKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNpbiA+PiBuID4+IG0gPj4gazsKICAgIGZvcihpbnQgaSA9IDE7IGkgPD0gayA7IGkrKykgY2luID4+IHBbaV07CiAgICBmb3IoaW50IGkgPSAxOyBpIDw9IG07IGkrKyl7CiAgICAgICAgaW50IHgsIHk7CiAgICAgICAgY2luID4+IHggPj4geTsKICAgICAgICBhW3hdLnB1c2hfYmFjayh5KTsKICAgICAgICBhW3ldLnB1c2hfYmFjayh4KTsKICAgIH0KICAgIGZpbGwoZGlzdCArIDEsIGRpc3QgKyAxICsgbiwgSU5UX01BWCk7CiAgICBxLnB1c2gobik7CiAgICBkaXN0W25dID0gMDsKICAgIHdoaWxlKCFxLmVtcHR5KCkpewogICAgICAgIGludCB1ID0gcS5mcm9udCgpOwogICAgICAgIHEucG9wKCk7CiAgICAgICAgZm9yKGF1dG8gdiA6IGFbdV0pewogICAgICAgICAgICBpZihkaXN0W3ZdID4gZGlzdFt1XSArIDEpewogICAgICAgICAgICAgICAgZGlzdFt2XSA9IGRpc3RbdV0gKyAxOwogICAgICAgICAgICAgICAgcS5wdXNoKHYpOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZm9yKGludCBpID0gMTsgaSA8PSBrOyBpKyspIGNvdXQgPDwgZGlzdFtwW2ldXSA8PCAnICc7CiAgICAKfQ==