def extrapolate_country_edges(graph):
    """
    Extrapolates city edges from a graph and create a dictionary in the form
    {('source_node', 'dest_node'): [x], ...} where x is the weight of the edge
    :return: instance of a dictionary and the list of all nations found in the graph
    """
    nations = []
    x = graph.nodes(data='country')
    for instance in x:
        nations.append(instance[1])
    nations = list(dict.fromkeys(nations))

    edges = {}
    weight = 1
    for edge in graph.edges():
        source_node = graph.nodes[edge[0]]
        dest_node = graph.nodes[edge[1]]
        if source_node["country"] != dest_node["country"]:
            edge = (source_node["country"], dest_node["country"])
            if not (edge in edges):
                edges[edge] = [weight]
            else:
                edges[edge][0] += 1
    return edges, nations