code: def 				__lowercase	(						lowerCamelCase__ ,				lowerCamelCase__					)				->list[tuple[int, int, int]]:
  
    '''simple docstring'''
  
  
  
  
    a__     		=     sorted(lowerCamelCase__ ,				key=lambda lowerCamelCase__					: edge[2]					)
  
    a__     		=     list(range(lowerCamelCase__					)					)
  
    def find_parent(lowerCamelCase__					):
      if i != parent[i]:
        a__     		=     find_parent(parent[i]					)
      return parent[i]
  
    a__     		=     0
    a__     		=     []
  
    for edge in edges:
      a__     		=     find_parent(edge[0]					)
      a__     		=     find_parent(edge[1]					)
      if parent_a != parent_b:
        minimum_spanning_tree_cost += edge[2]
        minimum_spanning_tree.append(lowerCamelCase__					)
        a__     		=     parent_b
  
    return minimum_spanning_tree
  
  
  if __name__ == "__main__":  # pragma: no cover
       _SCREAMING_SNAKE_CASE						,			_SCREAMING_SNAKE_CASE   						=    list(map(int, input().strip().split()))
       _SCREAMING_SNAKE_CASE   						=    []
  
       for _ in range(num_edges):
            _SCREAMING_SNAKE_CASE						,			_SCREAMING_SNAKE_CASE						,			_SCREAMING_SNAKE_CASE   						=    (int(x) for x in input().strip().split())
            edges.append((nodea, nodea, cost))
  
       kruskal(num_nodes, edges)
  
  
style_context: _SCREAMING_SNAKE_CASE   						=    [0.485, 0.456, 0.406]
  _SCREAMING_SNAKE_CASE   						=    [0.229, 0.224, 0.225]
  _SCREAMING_SNAKE_CASE   						=    [0.5, 0.5, 0.5]
  _SCREAMING_SNAKE_CASE   						=    [0.5, 0.5, 0.5]
  _SCREAMING_SNAKE_CASE   						=    [0.48145466, 0.4578275, 0.40821073]
  _SCREAMING_SNAKE_CASE   						=    [0.26862954, 0.26130258, 0.27577711]
  
  