docs: def GetFarthestNode(self, gr, node):
          """node is start node"""
          # Remember: weights are negative
          distance = minmax.shortest_path_bellman_ford(gr, node)[1]
  
          # Find the farthest node, which is end of track
          min_key = None
          for key, value in distance.iteritems():
              if min_key is None or value < distance[min_key]:
                  min_key = key
  
          return min_key