def determine_special_faces(graph, dist):
    """Determines the special faces, which are those nodes whose distance is
    at least k

    Args:
        graph (Gerrychain Graph): graph to determine special faces of
        dist (numeric): distance such that nodes are considered special if
        they have a 'distance' of at least this value

    Returns:
        list: list of nodes which are special
    """
    return [node for node in graph.nodes() if graph.nodes[node]['distance'] >= dist]