/*
ID:Agreement
*///invincible#include <bits/stdc++.h>#define rep( i , l , r ) for( int i = (l) ; i <= (r) ; ++i )#define per( i , r , l ) for( int i = (r) ; i >= (l) ; --i )#define erep( i , u ) for( int i = head[(u)] ; ~i ; i = e[i].nxt )usingnamespacestd;
constint maxn = 10000 + 5;
typedeflonglong ll;
ll ans , a[maxn];
int N , M;
int main(){
int x , y , w;
scanf("%d %d" , &N , &M);
rep( i , 1 , N ){
scanf("%d" , &w);
ans -= w;
a[i] = w << 1;
}
rep( i , 1 , M ){
scanf("%d %d %d" , &x , &y , &w);
ans -= w;
a[x] += w , a[y] += w;
}
sort( a + 1 , a + 1 + N );
for( int i = 2 ; i <= N ; i += 2 ) ans += a[i];
cout << ans << endl;
return0;
}