import fileinput
import sys


class Edge():
    def __init__(self, v1, v2, weight):
        self.vertices = [v1, v2]
        self.weight = weight


class MST():
    def __init__(self):
        self.edges = []
        self.vertices = []
        self.visited = [0]

    def add_vertex(self, vertex):
        if not vertex in self.vertices:
            self.vertices.append(vertex)

    def add_visited(self, vertex):
        if not vertex in self.visited:
            self.visited.append(vertex)

    def get_all_edges(self):
        edges = []
        for edge in self.edges:
            if len([v for v in edge.vertices if v in self.visited]) == 1:
                edges.append(edge)
        return edges

    def get_min_edge(self):
        edges = self.get_all_edges()
        if not edges:
            return None
        cur_edge = edges[0]
        for edge in edges:
            if edge.weight < cur_edge.weight:
                cur_edge = edge
        return cur_edge

    def next_edge(self):
        edge = self.get_min_edge()
        if not edge:
            return None
        self.add_visited(edge.vertices[0])
        self.add_visited(edge.vertices[1])
        return edge

def parse_input(smt):
    for line in fileinput.input():
        splt = line.split(" ")
        if len(splt) == 2:
            continue
        edge = Edge(int(splt[0]), int(splt[1]), int(splt[2]))
        smt.edges.append(edge)
        smt.add_vertex(splt[0])
        smt.add_vertex(splt[1])

def main():
    mst = MST()
    parse_input(mst)
    sum = 0
    while len(mst.vertices) != len(mst.visited):
        new_edge = mst.next_edge()
        if not new_edge:
            print("Geen route mogelijk")
            return
        sum += new_edge.weight
    print(sum)

if __name__ == "__main__":

    main()
