var i,j,n,min,p,m,s:longint;
aa,b,c:longint;
search:array[1..1000]of longint;
a:array[1..1000,1..1000]of longint;
bo:array[1..1000]of boolean;
begin
while not eof do
begin
readln(n,m);
for i:=1 to n do
for j:=1 to n do
a[i,j]:=1000000;s:=0;
for i:=1 to m do
begin
read(aa,b,c);
a[aa,b]:=c;a[b,aa]:=c;
end;
for i:=1 to n do
begin search[i]:=a[1,i];bo[i]:=false;end;
bo[1]:=true;
for i:=1 to n-1 do
begin
min:=1000000;
for j:=1 to n do
if (not bo[j])and(search[j]<min) then
begin
min:=search[j];
p:=j;
end;
s:=s+min;
bo[p]:=true;
for j:=1 to n do
if (not bo[j])and(search[j]>a[p,j])then
search[j]:=a[p,j];
end;
writeln(s);
end;
end.