#include<iostream>
#include<cstring>
#include<cstdio>
#include<cassert>
#include<string>
#include<algorithm>
#include<vector>
#include<map>
#include<set>
#include<numeric>
#include<cmath>
#include<iterator>
#include<list>
#include<limits.h>
#define ll long long
using namespace std;
/*
#define getcx getchar_unlocked
inline void inp( int &n )//fast input function
{
n=0;
int ch=getcx();int sign=1;
while( ch < '0' || ch > '9' ){if(ch=='-')sign=-1; ch=getcx();}
while( ch >= '0' && ch <= '9' )
n = (n<<3)+(n<<1) + ch-'0', ch=getcx();
n=n*sign;
}
*/
ll id[100005];
ll size[100005];
ll cost[100005];
ll pairs[1000005][2];
int find_parent(ll id[],int i) //with path compression
{
while(i!=id[i])
{
id[i]=id[id[i]];
i=id[i];
}
return i;
}
void quick_union(ll id[],ll cost[],ll size[],int p,int q,int n )
{
p=find_parent(id,p);
q=find_parent(id,q);
if(p==q) return;
if(size[p]>size[q])
{
id[q]=p;
size[p]+=size[q];
if(cost[p]>cost[q])
cost[p]=cost[q];
}
else
{
id[p]=q;
size[q]+=size[p];
if(cost[q]>cost[p])
cost[q]=cost[p];
}
}
void print_all(ll id[], ll cost[], ll size[],int n)
{
int i;
for(i=1;i<=n;i++)
{
cout<<id[i]<<" ";
}
cout<<endl;
for(i=1;i<=n;i++)
{
cout<<size[i]<<" ";
}
cout<<endl;
for(i=1;i<=n;i++)
{
cout<<cost[i]<<" ";
}
}
int main()
{
ll i, n, m, min_cost=INT_MAX, a, b,amt=0,count=0;
cin>>n>>m;
for(i=1;i<=n;i++)
{
id[i]=i;
size[i]=1;
cost[i]=INT_MAX;
}
for(i=0;i<m;i++)
{
cin>>pairs[i][0]>>pairs[i][1];
}
for(i=1;i<=n;i++)
{
int c;
cin>>c;
if(c>=0)
cost[i]=c;
}
for(i=0;i<m;i++)
{
a=pairs[i][0];
b=pairs[i][1];
quick_union(id,cost,size,a,b,n);
}
for(i=1;i<=n;i++)
{
a=i;
while(id[a]!=a) a=id[a];
id[i]=a;
}
//print_all(id,cost,size,n);
for(i=1;i<=n;i++)
{
if(i==id[i])
{
if(cost[i]==INT_MAX)
{
cout<<"-1"<<endl;
return 0;
}
count++;
if(min_cost>cost[i])
min_cost=cost[i];
amt+=cost[i];
}
}
if(count==1)
{
cout<<"0"<<endl;
return 0;
}
amt+=(count-2)*min_cost;
cout<<amt<<endl;
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPGNzdHJpbmc+CiNpbmNsdWRlPGNzdGRpbz4KI2luY2x1ZGU8Y2Fzc2VydD4KI2luY2x1ZGU8c3RyaW5nPgojaW5jbHVkZTxhbGdvcml0aG0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8bWFwPgojaW5jbHVkZTxzZXQ+CiNpbmNsdWRlPG51bWVyaWM+CiNpbmNsdWRlPGNtYXRoPgojaW5jbHVkZTxpdGVyYXRvcj4KI2luY2x1ZGU8bGlzdD4KI2luY2x1ZGU8bGltaXRzLmg+CiAKI2RlZmluZSBsbCBsb25nIGxvbmcKIAp1c2luZyBuYW1lc3BhY2Ugc3RkOwogCi8qCiNkZWZpbmUgZ2V0Y3ggZ2V0Y2hhcl91bmxvY2tlZAppbmxpbmUgdm9pZCBpbnAoIGludCAmbiApLy9mYXN0IGlucHV0IGZ1bmN0aW9uCnsKICAgbj0wOwogICBpbnQgY2g9Z2V0Y3goKTtpbnQgc2lnbj0xOwogICB3aGlsZSggY2ggPCAnMCcgfHwgY2ggPiAnOScgKXtpZihjaD09Jy0nKXNpZ249LTE7IGNoPWdldGN4KCk7fQogCiAgIHdoaWxlKCAgY2ggPj0gJzAnICYmIGNoIDw9ICc5JyApCiAgICAgICAgICAgbiA9IChuPDwzKSsobjw8MSkgKyBjaC0nMCcsIGNoPWdldGN4KCk7CiAgIG49bipzaWduOwp9CiovCiAKIApsbCBpZFsxMDAwMDVdOwpsbCBzaXplWzEwMDAwNV07CmxsIGNvc3RbMTAwMDA1XTsKbGwgcGFpcnNbMTAwMDAwNV1bMl07CiAKaW50IGZpbmRfcGFyZW50KGxsIGlkW10saW50IGkpIC8vd2l0aCBwYXRoIGNvbXByZXNzaW9uCnsKCQoJd2hpbGUoaSE9aWRbaV0pCgl7CgkJaWRbaV09aWRbaWRbaV1dOwoJCWk9aWRbaV07Cgl9CgkgcmV0dXJuIGk7CQp9CiAKIAp2b2lkIHF1aWNrX3VuaW9uKGxsIGlkW10sbGwgY29zdFtdLGxsIHNpemVbXSxpbnQgcCxpbnQgcSxpbnQgbiApCnsKCXA9ZmluZF9wYXJlbnQoaWQscCk7CglxPWZpbmRfcGFyZW50KGlkLHEpOwoJCgkKCWlmKHA9PXEpIHJldHVybjsKCQoJaWYoc2l6ZVtwXT5zaXplW3FdKQoJewoJCWlkW3FdPXA7CgkJc2l6ZVtwXSs9c2l6ZVtxXTsKCQkKCQlpZihjb3N0W3BdPmNvc3RbcV0pCgkJY29zdFtwXT1jb3N0W3FdOwoJfQoJCgllbHNlCgl7CgkJaWRbcF09cTsKCQlzaXplW3FdKz1zaXplW3BdOwoJCQoJCWlmKGNvc3RbcV0+Y29zdFtwXSkKCQljb3N0W3FdPWNvc3RbcF07CgkJCgl9CgkKfQogCiAKdm9pZCBwcmludF9hbGwobGwgaWRbXSwgbGwgY29zdFtdLCBsbCBzaXplW10saW50IG4pCnsJCglpbnQgaTsKCWZvcihpPTE7aTw9bjtpKyspCgl7CgkJY291dDw8aWRbaV08PCIgIjsKCX0KCQoJY291dDw8ZW5kbDsKCQoJZm9yKGk9MTtpPD1uO2krKykKCXsKCQljb3V0PDxzaXplW2ldPDwiICI7Cgl9CgkKCWNvdXQ8PGVuZGw7CgkKCWZvcihpPTE7aTw9bjtpKyspCgl7CgkJY291dDw8Y29zdFtpXTw8IiAiOwoJfQp9CiAKaW50IG1haW4oKQp7CgkKCQoJbGwgaSwgbiwgbSwgbWluX2Nvc3Q9SU5UX01BWCwgYSwgYixhbXQ9MCxjb3VudD0wOwoJCgljaW4+Pm4+Pm07CgkKCQoJCglmb3IoaT0xO2k8PW47aSsrKQoJewoJCWlkW2ldPWk7CgkJc2l6ZVtpXT0xOwoJCWNvc3RbaV09SU5UX01BWDsKCX0KCQoJZm9yKGk9MDtpPG07aSsrKQoJewoJCWNpbj4+cGFpcnNbaV1bMF0+PnBhaXJzW2ldWzFdOwoJfQoJCglmb3IoaT0xO2k8PW47aSsrKQoJewoJCWludCBjOwoJCWNpbj4+YzsKCQlpZihjPj0wKQoJCQljb3N0W2ldPWM7Cgl9CgkKCWZvcihpPTA7aTxtO2krKykKCXsKCQlhPXBhaXJzW2ldWzBdOwoJCWI9cGFpcnNbaV1bMV07CgkJCgkJcXVpY2tfdW5pb24oaWQsY29zdCxzaXplLGEsYixuKTsKCX0gCgkKCWZvcihpPTE7aTw9bjtpKyspCgl7CgkJYT1pOwkKCQl3aGlsZShpZFthXSE9YSkgYT1pZFthXTsJCgkJaWRbaV09YTsKCX0KCQoJLy9wcmludF9hbGwoaWQsY29zdCxzaXplLG4pOwoJCgkKCWZvcihpPTE7aTw9bjtpKyspCgl7CgkJaWYoaT09aWRbaV0pCgkJewoJCQkKCQkJaWYoY29zdFtpXT09SU5UX01BWCkKCQkJewoJCQkJY291dDw8Ii0xIjw8ZW5kbDsKCQkJCXJldHVybiAwOwoJCQl9CgkJCQoJCQljb3VudCsrOwoJCQkKCQkJaWYobWluX2Nvc3Q+Y29zdFtpXSkKCQkJCW1pbl9jb3N0PWNvc3RbaV07CgkJCWFtdCs9Y29zdFtpXTsKCQkJCgkJfQoJfQoJCglpZihjb3VudD09MSkKCXsKCQljb3V0PDwiMCI8PGVuZGw7CgkJcmV0dXJuIDA7Cgl9CgkKCWFtdCs9KGNvdW50LTIpKm1pbl9jb3N0OwoJCgljb3V0PDxhbXQ8PGVuZGw7CgkKcmV0dXJuIDA7CiAKfQ==