import itertools

def grafot_olvas(f):
    """
    Beolvas egy iranyitatlan grafot a parameterul kapott fajl 
    objektumbol.

    A fajl elso sora n m k alaku. 
    A graf csucshalmaza V = {0, 1, ..., n - 1}.
    A kovetkezo m sor U_i V_i alaku, ami azt fejezi ki, 
    hogy a graf tartalmazza az U_i V_i iranyitatlan elt. 
    A k a keresett klikk elemszama.

    A fuggveny visszateresi erteke egy harmas, ami tartalmazza a graf
    ellistajat, a graf csucsainak szamat es a keresett klikk meretet.
    Az ellista egy szotar, ami az egyes csucsokhoz a szomszedos 
    csucsok listajat rendeli. 
    Mivel a graf iranyitatlan, ha az U csucs listajaban szerepel a V,
    akkor a V listajaban szerepelni fog az U.

    :param f: A grafot tartalmazo fajl io objektuma.
    :returns: A graf ellista szotara, valamint 
              az n es k erteke egy harmasban. 
    """
    fejlec = f.readline().split()
    n, m, k = [int(s) for s in fejlec]

    graf = dict((i, []) for i in range(n))
    for j in range(m):
        el = f.readline().split()
        u, v = [int(s) for s in el]
        graf[u].append(v)
        graf[v].append(u)
    return graf, n, k

def kombinaciok(a, b):
    """
    A standard kimenetre irja az {0, 1, 2, ..., a - 1} osszes b elemu
    kombinaciojat.
    """
    for komb in itertools.combinations(range(0, a), b):
        print(" ".join(str(i) for i in komb))

if __name__ == '__main__':
    import sys
    with open(sys.argv[1], 'r') as f:
        graf, csucsszam, k = grafot_olvas(f)

    # TODO Valositsuk meg a klikk keresest.
    kombinaciok(10, 3)
