/* package whatever; // don't place package name! */
/*
7
6
1 2
1 3
2 4
2 5
3 6
3 7
case 2:-
2
1
1 2
cas 3:-
1
0
*/
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
{
Scanner sc
= new Scanner
(System.
in); int n = sc.nextInt();
int m = sc.nextInt();
List<List<Integer>> adj = new ArrayList<>();
for(int i=0; i<=n;i++){
adj.add(new ArrayList<>());
}
int[] val = new int[adj.size()];
for(int i=1;i<val.length;i++){
val[i] = sc.nextInt();
}
for(int i=0; i<m; i++){
int u = sc.nextInt();
int v = sc.nextInt();
adj.get(u).add(v);
adj.get(v).add(u);
}
int []ans = countTheNumberOf1(adj,1,val);
}
public static int[] countTheNumberOf1(List<List<Integer>> adj,int src,int []val){
Queue<Integer> q = new LinkedList<>();
boolean visited[] = new boolean[adj.size()];
q.add(src);
visited[src] = true;
int[] ans = new int[val.length];
ans[src] = val[src];
while(!q.isEmpty()){
int cur = q.poll();
for(int x : adj.get(cur)){
if(!visited[x]){
q.add(x);
visited[x] = true;
if(val[x] == 1){
ans[x]= ans[cur]+1;
}else{
ans[x]=ans[cur];
}
}
}
}
return ans;
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwogCiAKLyoKIAo3CjYKMSAyCjEgMwoyIDQKMiA1CjMgNgozIDcKIApjYXNlIDI6LQoyCjEKMSAyCiAKY2FzIDM6LQoxCjAKIAoqLwogCiAKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CiAKLyogTmFtZSBvZiB0aGUgY2xhc3MgaGFzIHRvIGJlICJNYWluIiBvbmx5IGlmIHRoZSBjbGFzcyBpcyBwdWJsaWMuICovCmNsYXNzIElkZW9uZQp7CglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlTY2FubmVyIHNjID0gbmV3IFNjYW5uZXIoU3lzdGVtLmluKTsKCQlpbnQgbiA9IHNjLm5leHRJbnQoKTsKCQlpbnQgbSA9IHNjLm5leHRJbnQoKTsKCQlMaXN0PExpc3Q8SW50ZWdlcj4+IGFkaiA9IG5ldyBBcnJheUxpc3Q8PigpOwoJCWZvcihpbnQgaT0wOyBpPD1uO2krKyl7CgkJCWFkai5hZGQobmV3IEFycmF5TGlzdDw+KCkpOwoJCX0KCQlpbnRbXSB2YWwgPSBuZXcgaW50W2Fkai5zaXplKCldOwoJCQoJCWZvcihpbnQgaT0xO2k8dmFsLmxlbmd0aDtpKyspewoJCQl2YWxbaV0gPSBzYy5uZXh0SW50KCk7CgkJfQogCgkJZm9yKGludCBpPTA7IGk8bTsgaSsrKXsKCQkJaW50IHUgPSBzYy5uZXh0SW50KCk7CgkJCWludCB2ID0gc2MubmV4dEludCgpOwoJCQlhZGouZ2V0KHUpLmFkZCh2KTsKCQkJYWRqLmdldCh2KS5hZGQodSk7CgkJfQogCgkJaW50IFtdYW5zID0gY291bnRUaGVOdW1iZXJPZjEoYWRqLDEsdmFsKTsKCQlTeXN0ZW0ub3V0LnByaW50bG4oQXJyYXlzLnRvU3RyaW5nKGFucykpOwogCgl9CiAKCXB1YmxpYyBzdGF0aWMgaW50W10gY291bnRUaGVOdW1iZXJPZjEoTGlzdDxMaXN0PEludGVnZXI+PiBhZGosaW50IHNyYyxpbnQgW112YWwpewogCgkJUXVldWU8SW50ZWdlcj4gcSA9IG5ldyBMaW5rZWRMaXN0PD4oKTsKCQlib29sZWFuIHZpc2l0ZWRbXSA9IG5ldyBib29sZWFuW2Fkai5zaXplKCldOwoJCXEuYWRkKHNyYyk7CgkJdmlzaXRlZFtzcmNdID0gdHJ1ZTsKCQlpbnRbXSBhbnMgPSBuZXcgaW50W3ZhbC5sZW5ndGhdOwoJCQoJCWFuc1tzcmNdID0gdmFsW3NyY107CgkJd2hpbGUoIXEuaXNFbXB0eSgpKXsKCQkJaW50IGN1ciA9IHEucG9sbCgpOwoJCQlmb3IoaW50IHggOiBhZGouZ2V0KGN1cikpewoJCQkJaWYoIXZpc2l0ZWRbeF0pewoJCQkJCXEuYWRkKHgpOwoJCQkJCXZpc2l0ZWRbeF0gPSB0cnVlOwoJCQkJCWlmKHZhbFt4XSA9PSAxKXsKCQkJCQkJYW5zW3hdPSBhbnNbY3VyXSsxOwoJCQkJCX1lbHNlewoJCQkJCQlhbnNbeF09YW5zW2N1cl07CgkJCQkJfQoJCQkJfQoJCQl9CgkJfQogCgkJcmV0dXJuIGFuczsKIAoJfQogCn0=