import sys
input = sys.stdin.readline
N = int(input())
M = int(input())
nodes = [i for i in range(N+1)]
def find_root(x):
if nodes[x] != x:
nodes[x] = find_root(nodes[x])
return nodes[x]
def union_root(a, b):
a = find_root(a)
b = find_root(b)
if a < b:
nodes[b] = a
else:
nodes[a] = b
graph = []
for _ in range(M):
a,b,c = map(int,input().split(" "))
graph.append([c,(a,b)])
graph.sort()
result = 0
for g in graph:
w,(a,b) = g
if find_root(a) != find_root(b):
union_root(a,b)
print(nodes)
result += w
print(result)