#include <iostream>
#include<bits/stdc++.h>
using namespace std;
void dfs(vector<bool>&vis,vector<vector<int>>&adjlist,int curr,vector<int>&max_sum,vector<int>&val){
vis[curr]=true;
for(int adj : adjlist[curr]){
if(!vis[adj]){
dfs(vis,adjlist,adj,max_sum,val);
max_sum[curr]=max(max_sum[adj],max_sum[curr]);
}
}
max_sum[curr]=max(max_sum[curr],0);
if(max_sum[curr]==INT_MIN){
max_sum[curr]=val[curr];
}
else{
max_sum[curr]+=val[curr];
}
}
int main() {
int n ; int m ;
cin>>n>>m;
vector<vector<int>>adjlist(n+1);
vector<bool>vis(n+1,false);
vector<int>val(n+1,0);
vector<int>max_sum(n+1,INT_MIN);
for(int i = 0 ; i<m;i++){
int u ; int v ;
cin>>u>>v;
adjlist[u].push_back(v);
adjlist[v].push_back(u);
}
for(int i = 1 ; i<=n ; i++) cin>>val[i];;
dfs(vis,adjlist,1,max_sum,val);
cout<<*max_element(max_sum.begin(),max_sum.end());
return 0;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZTxiaXRzL3N0ZGMrKy5oPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKCnZvaWQgZGZzKHZlY3Rvcjxib29sPiZ2aXMsdmVjdG9yPHZlY3RvcjxpbnQ+PiZhZGpsaXN0LGludCBjdXJyLHZlY3RvcjxpbnQ+Jm1heF9zdW0sdmVjdG9yPGludD4mdmFsKXsKCXZpc1tjdXJyXT10cnVlOwogICAgCglmb3IoaW50IGFkaiA6IGFkamxpc3RbY3Vycl0pewoJCWlmKCF2aXNbYWRqXSl7CgkJCWRmcyh2aXMsYWRqbGlzdCxhZGosbWF4X3N1bSx2YWwpOwoJCSAgICBtYXhfc3VtW2N1cnJdPW1heChtYXhfc3VtW2Fkal0sbWF4X3N1bVtjdXJyXSk7CgkJfQoJfQoJbWF4X3N1bVtjdXJyXT1tYXgobWF4X3N1bVtjdXJyXSwwKTsKCWlmKG1heF9zdW1bY3Vycl09PUlOVF9NSU4pewoJCQltYXhfc3VtW2N1cnJdPXZhbFtjdXJyXTsKCQkJfQoJZWxzZXsKCQltYXhfc3VtW2N1cnJdKz12YWxbY3Vycl07Cgl9Cn0KaW50IG1haW4oKSB7CiAgICBpbnQgbiA7IGludCBtIDsgCiAgICBjaW4+Pm4+Pm07CiAgICB2ZWN0b3I8dmVjdG9yPGludD4+YWRqbGlzdChuKzEpOwogICAgdmVjdG9yPGJvb2w+dmlzKG4rMSxmYWxzZSk7CiAgICB2ZWN0b3I8aW50PnZhbChuKzEsMCk7CiAgICB2ZWN0b3I8aW50Pm1heF9zdW0obisxLElOVF9NSU4pOwogICAgCiAgICBmb3IoaW50IGkgPSAwIDsgaTxtO2krKyl7CiAgICAJaW50IHUgOyBpbnQgdiA7IAogICAgCWNpbj4+dT4+djsKICAgIAlhZGpsaXN0W3VdLnB1c2hfYmFjayh2KTsKICAgIAlhZGpsaXN0W3ZdLnB1c2hfYmFjayh1KTsKICAgIH0KICAgIGZvcihpbnQgaSA9IDEgOyBpPD1uIDsgaSsrKSBjaW4+PnZhbFtpXTs7CiAgICBkZnModmlzLGFkamxpc3QsMSxtYXhfc3VtLHZhbCk7CiAgICBjb3V0PDwqbWF4X2VsZW1lbnQobWF4X3N1bS5iZWdpbigpLG1heF9zdW0uZW5kKCkpOwoJcmV0dXJuIDA7Cn0=