#include <bits/stdc++.h>
using namespace std;
#define int long long
const int MAXN = 1e5 + 15;
struct Edge {
int u, v, w;
};
struct cmp {
bool operator() (Edge x, Edge y) {
return x.w < y.w;
}
};
int C[MAXN];
int N, P;
vector<Edge> g;
struct Dosu {
int par[MAXN], sz[MAXN];
void INIT() {
for (int i = 1; i <= MAXN - 1; i++) par[i] = i, sz[i] = 1;
}
int find_set(int u) {
return (par[u] == u ? u : par[u] = find_set(par[u]));
}
void union_set(int u, int v) {
u = find_set(u), v = find_set(v);
if (sz[u] < sz[v]) swap(u, v);
par[v] = par[u];
sz[u] += sz[v];
}
} DSU;
main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
cin >> N >> P;
DSU.INIT();
int tmp = LONG_MAX;
for (int i = 1; i <= N; i++) {
cin >> C[i];
tmp = min(tmp, C[i]);
}
for (int i = 1; i <= P; i++) {
int u, v, w;
cin >> u >> v >> w;
g.push_back({u, v, w * 2 + C[u] + C[v]});
}
sort(g.begin(), g.end(), cmp());
int ans = 0;
for (auto E : g) {
if (DSU.find_set(E.u) != DSU.find_set(E.v)) {
DSU.union_set(E.u, E.v);
ans += E.w;
}
}
cout << ans + tmp;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CiNkZWZpbmUgaW50IGxvbmcgbG9uZwoKY29uc3QgaW50IE1BWE4gPSAxZTUgKyAxNTsKCnN0cnVjdCBFZGdlIHsKICAgIGludCB1LCB2LCB3Owp9OwoKc3RydWN0IGNtcCB7CiAgICBib29sIG9wZXJhdG9yKCkgKEVkZ2UgeCwgRWRnZSB5KSB7CiAgICAgICAgcmV0dXJuIHgudyA8IHkudzsKICAgIH0KfTsKCmludCBDW01BWE5dOwppbnQgTiwgUDsKdmVjdG9yPEVkZ2U+IGc7CgpzdHJ1Y3QgRG9zdSB7CiAgICBpbnQgcGFyW01BWE5dLCBzeltNQVhOXTsKICAgIHZvaWQgSU5JVCgpIHsKICAgICAgICBmb3IgKGludCBpID0gMTsgaSA8PSBNQVhOIC0gMTsgaSsrKSBwYXJbaV0gPSBpLCBzeltpXSA9IDE7CiAgICB9CgogICAgaW50IGZpbmRfc2V0KGludCB1KSB7CiAgICAgICAgcmV0dXJuIChwYXJbdV0gPT0gdSA/IHUgOiBwYXJbdV0gPSBmaW5kX3NldChwYXJbdV0pKTsKICAgIH0KCiAgICB2b2lkIHVuaW9uX3NldChpbnQgdSwgaW50IHYpIHsKICAgICAgICB1ID0gZmluZF9zZXQodSksIHYgPSBmaW5kX3NldCh2KTsKICAgICAgICBpZiAoc3pbdV0gPCBzelt2XSkgc3dhcCh1LCB2KTsKICAgICAgICBwYXJbdl0gPSBwYXJbdV07CiAgICAgICAgc3pbdV0gKz0gc3pbdl07CiAgICB9Cn0gRFNVOwoKCm1haW4oKSB7CiAgICBpb3NfYmFzZTo6c3luY193aXRoX3N0ZGlvKDApOwogICAgY2luLnRpZSgwKTsKICAgIGNvdXQudGllKDApOwoKICAgIGNpbiA+PiBOID4+IFA7CiAgICBEU1UuSU5JVCgpOwogICAgaW50IHRtcCA9IExPTkdfTUFYOwogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gTjsgaSsrKSB7CiAgICAgICAgY2luID4+IENbaV07CiAgICAgICAgdG1wID0gbWluKHRtcCwgQ1tpXSk7CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDE7IGkgPD0gUDsgaSsrKSB7CiAgICAgICAgaW50IHUsIHYsIHc7CiAgICAgICAgY2luID4+IHUgPj4gdiA+PiB3OwogICAgICAgIGcucHVzaF9iYWNrKHt1LCB2LCB3ICogMiArIENbdV0gKyBDW3ZdfSk7CiAgICB9CgogICAgc29ydChnLmJlZ2luKCksIGcuZW5kKCksIGNtcCgpKTsKCiAgICBpbnQgYW5zID0gMDsKCiAgICBmb3IgKGF1dG8gRSA6IGcpIHsKICAgICAgICBpZiAoRFNVLmZpbmRfc2V0KEUudSkgIT0gRFNVLmZpbmRfc2V0KEUudikpIHsKICAgICAgICAgICAgRFNVLnVuaW9uX3NldChFLnUsIEUudik7CiAgICAgICAgICAgIGFucyArPSBFLnc7CiAgICAgICAgfQogICAgfQoKICAgIGNvdXQgPDwgYW5zICsgdG1wOwp9Cg==