const fi='';
fo='';
maxn=10003;
maxc=trunc(1e9);
maxm=15000;
var link,head,ke,ts :array[-maxm..maxm] of longint;
i,j,n,m :longint;
d :array[1..maxn] of longint;
h,p :array[1..maxn] of longint;
nh,res :longint;
procedure add(i,u,v,w:longint);
begin
link[i]:=head[u];
head[u]:=i;
ke[i]:=v;
ts[i]:=w;
end;
procedure enter;
var i,u,v,w :longint;
begin
assign(input,fi);reset(input);
readln(n,m);
for i:=1 to m do
begin
read(u,v,w);
add(i,u,v,w);
add(-i,v,u,w);
end;
close(input);
end;
procedure swap(var x,y:longint);
var tg :longint;
begin
tg:=x;x:=y;y:=tg;
end;
procedure upheap(i:longint);
var j:longint;
begin
j:=i div 2;
if i>1 then
if d[h[j]]>d[h[i]] then
begin
swap(h[i],h[j]);
swap(p[h[i]] , p[h[j]] );
upheap(j);
end;
end;
procedure downheap(i:longint);
var j :longint;
begin
j:=i+i;
if j>nh then exit;
if (j<nh) and (d[h[j]]>d[h[j+1]]) then inc(j);
if d[h[i]]>d[h[j]] then
begin
swap(h[i],h[j]);
swap(p[h[i]] , p[h[j]]);
downheap(j);
end;
end;
function pop:longint;
begin
pop:=h[1];
h[1]:=h[nh];
p[h[1]]:=1;
dec(nh);
downheap(1);
end;
procedure push(i:longint);
begin
inc(nh);
h[nh]:=i;
p[i]:=nh;
upheap(nh);
end;
procedure update(i:longint);
begin
if p[i]=0 then push(i) else
begin
upheap(p[i]);
end;
end;
procedure process;
var i,u,v :longint;
begin
for i:=1 to n do
d[i] := maxc;
d[1] := 0; push(1);
repeat
u:=pop;
res := res + d[u];
i:=head[u];
while i<>0 do
begin
v:=ke[i];
if d[v]>ts[i] then
begin
d[v]:=ts[i];
update(v);
end;
i := link[i];
end;
until nh=0;
end;
procedure print;
begin
assign(output,fo);rewrite(output);
writeln(res);
close(output);
end;
begin
enter;
process;
print;
end.
Y29uc3QgICBmaT0nJzsKICAgICAgICBmbz0nJzsKICAgICAgICBtYXhuPTEwMDAzOwogICAgICAgIG1heGM9dHJ1bmMoMWU5KTsKICAgICAgICBtYXhtPTE1MDAwOwp2YXIgICAgIGxpbmssaGVhZCxrZSx0cyA6YXJyYXlbLW1heG0uLm1heG1dIG9mIGxvbmdpbnQ7CiAgICAgICAgaSxqLG4sbSA6bG9uZ2ludDsKICAgICAgICBkICAgICAgIDphcnJheVsxLi5tYXhuXSBvZiBsb25naW50OwogICAgICAgIGgscCAgICAgOmFycmF5WzEuLm1heG5dIG9mIGxvbmdpbnQ7CiAgICAgICAgbmgscmVzICA6bG9uZ2ludDsKcHJvY2VkdXJlIGFkZChpLHUsdix3OmxvbmdpbnQpOwpiZWdpbgogICAgICAgIGxpbmtbaV06PWhlYWRbdV07CiAgICAgICAgaGVhZFt1XTo9aTsKICAgICAgICBrZVtpXTo9djsKICAgICAgICB0c1tpXTo9dzsKZW5kOwpwcm9jZWR1cmUgZW50ZXI7CnZhciAgICAgaSx1LHYsdyA6bG9uZ2ludDsKYmVnaW4KICAgICAgICBhc3NpZ24oaW5wdXQsZmkpO3Jlc2V0KGlucHV0KTsKICAgICAgICByZWFkbG4obixtKTsKICAgICAgICBmb3IgaTo9MSB0byBtIGRvCiAgICAgICAgICAgICAgICBiZWdpbgogICAgICAgICAgICAgICAgICAgICAgICByZWFkKHUsdix3KTsKICAgICAgICAgICAgICAgICAgICAgICAgYWRkKGksdSx2LHcpOwogICAgICAgICAgICAgICAgICAgICAgICBhZGQoLWksdix1LHcpOwogICAgICAgICAgICAgICAgZW5kOwogICAgICAgIGNsb3NlKGlucHV0KTsKZW5kOwpwcm9jZWR1cmUgc3dhcCh2YXIgeCx5OmxvbmdpbnQpOwp2YXIgICAgIHRnICAgICAgOmxvbmdpbnQ7CmJlZ2luCiAgICAgICAgdGc6PXg7eDo9eTt5Oj10ZzsKZW5kOwpwcm9jZWR1cmUgdXBoZWFwKGk6bG9uZ2ludCk7CnZhciAgICAgajpsb25naW50OwpiZWdpbgogICAgICAgIGo6PWkgZGl2IDI7CiAgICAgICAgaWYgaT4xIHRoZW4KICAgICAgICBpZiBkW2hbal1dPmRbaFtpXV0gdGhlbgogICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgc3dhcChoW2ldLGhbal0pOwogICAgICAgICAgICAgICAgICAgICAgICBzd2FwKHBbaFtpXV0gLCBwW2hbal1dICk7CiAgICAgICAgICAgICAgICAgICAgICAgIHVwaGVhcChqKTsKICAgICAgICAgICAgICAgIGVuZDsKZW5kOwpwcm9jZWR1cmUgZG93bmhlYXAoaTpsb25naW50KTsKdmFyICAgICBqIDpsb25naW50OwpiZWdpbgogICAgICAgIGo6PWkraTsKICAgICAgICBpZiBqPm5oIHRoZW4gZXhpdDsKICAgICAgICBpZiAoajxuaCkgYW5kIChkW2hbal1dPmRbaFtqKzFdXSkgdGhlbiBpbmMoaik7CiAgICAgICAgaWYgZFtoW2ldXT5kW2hbal1dIHRoZW4KICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgIHN3YXAoaFtpXSxoW2pdKTsKICAgICAgICAgICAgICAgICAgICAgICAgc3dhcChwW2hbaV1dICwgcFtoW2pdXSk7CiAgICAgICAgICAgICAgICAgICAgICAgIGRvd25oZWFwKGopOwogICAgICAgICAgICAgICAgZW5kOwplbmQ7CmZ1bmN0aW9uIHBvcDpsb25naW50OwpiZWdpbgogICAgICAgIHBvcDo9aFsxXTsKICAgICAgICBoWzFdOj1oW25oXTsKICAgICAgICBwW2hbMV1dOj0xOwogICAgICAgIGRlYyhuaCk7CiAgICAgICAgZG93bmhlYXAoMSk7CmVuZDsKcHJvY2VkdXJlIHB1c2goaTpsb25naW50KTsKYmVnaW4KICAgICAgICBpbmMobmgpOwogICAgICAgIGhbbmhdOj1pOwogICAgICAgIHBbaV06PW5oOwogICAgICAgIHVwaGVhcChuaCk7CmVuZDsKcHJvY2VkdXJlIHVwZGF0ZShpOmxvbmdpbnQpOwpiZWdpbgogICAgICAgIGlmIHBbaV09MCB0aGVuIHB1c2goaSkgZWxzZQogICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgdXBoZWFwKHBbaV0pOwogICAgICAgICAgICAgICAgZW5kOwplbmQ7CnByb2NlZHVyZSBwcm9jZXNzOwp2YXIgICAgIGksdSx2ICAgOmxvbmdpbnQ7CmJlZ2luCiAgICAgICAgZm9yIGk6PTEgdG8gbiBkbwogICAgICAgICAgICAgICAgZFtpXSA6PSBtYXhjOwogICAgICAgIGRbMV0gOj0gMDsgcHVzaCgxKTsKICAgICAgICByZXBlYXQKICAgICAgICAgICAgICAgIHU6PXBvcDsKICAgICAgICAgICAgICAgIHJlcyA6PSByZXMgKyBkW3VdOwogICAgICAgICAgICAgICAgaTo9aGVhZFt1XTsKICAgICAgICAgICAgICAgIHdoaWxlIGk8PjAgZG8KICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2Oj1rZVtpXTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBkW3ZdPnRzW2ldIHRoZW4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlZ2luCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRbdl06PXRzW2ldOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGUodik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaSA6PSBsaW5rW2ldOwogICAgICAgICAgICAgICAgICAgICAgICBlbmQ7CiAgICAgICAgdW50aWwgbmg9MDsKZW5kOwpwcm9jZWR1cmUgcHJpbnQ7CmJlZ2luCiAgICAgICAgYXNzaWduKG91dHB1dCxmbyk7cmV3cml0ZShvdXRwdXQpOwogICAgICAgIHdyaXRlbG4ocmVzKTsKICAgICAgICBjbG9zZShvdXRwdXQpOwplbmQ7CmJlZ2luCiAgICAgICAgZW50ZXI7CiAgICAgICAgcHJvY2VzczsKICAgICAgICBwcmludDsKZW5kLg==