 
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
{
		public static void main (String[] args) throws java.lang.Exception
	{
		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 value[] = new int[n+1];
		
		for(int i=1;i<=n;i++){
			value[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 parent[] = new int[n+1];
		int visited[] = new int[n+1];
		int sum[] = new int[n+1];
		calculateSumOfEachNode(1,parent,visited,value,sum,adj);
		System.out.println(Arrays.toString(sum));
	}
	
	public static void calculateSumOfEachNode(int node,int []par,int []vis,int[] value,int []sum,List<List<Integer>> adj){
		
		vis[node] = 1;
		for(int x : adj.get(node)){
			if(vis[x] == 0){
				par[x] = node;
				calculateSumOfEachNode(x,par,vis,value,sum,adj);
			}
		}
		
		int s=0;
		for(int child : adj.get(node)){
			if(child != par[node]){
				// this is a child node;
				s+=sum[child];
			}
		}
		
		sum[node] = value[node] + s;
		
	}
}