def cliquesolve(G):
    C = nx.complement(G)
    u= find_all_clqs(C)
    solution = set_cover_model(G, u)
    return solution



def convert_to_cliques(coloring):
    ridx = defaultdict(list)
    for i,item in enumerate(coloring):
        ridx[item].append(i)
    return set([ frozenset(x) for x in ridx.values()])


            
    
    
    

def cliquesolve(G):
    C = nx.complement(G)
    u= find_all_clqs(C)
    solution = set_cover_model(G, u)
    return solution

if __name__ == '__main__':
    G = parse_input(get_input('./data/gc_250_9'))
    C = nx.complement(G)
    u= find_all_clqs(C)
    result = set_cover_model(G, u)
    print result
#     ans = graph_coloring_problem_or(G,35)
#     print ans,len(set(ans))