n, m = [int(x) for x in input().split()]

adj = [[] for _ in range(n)]
prev = [[] for _ in range(n)]

def is_dag(adj, prev, extra_a, extra_b):
    n = len(adj)
    prevlens = [len(x) for x in prev]

    prevlens[extra_b] += 1

    tops = [x for x in range(n) if prevlens[x] == 0 and x != extra_b]

    while tops:
        cur = tops.pop()
        for nb in adj[cur]:
            prevlens[nb] -= 1
            if prevlens[nb] == 0:
                tops.append(nb)

        if cur == extra_a:
            prevlens[extra_b] -= 1
            if prevlens[extra_b] == 0:
                tops.append(extra_b)

    return all(c == 0 for c in prevlens)

removed = []
for i in range(1, m+1):
    a, b = [int(x) for x in input().split()]
    a -= 1
    b -= 1

    if is_dag(adj, prev, a, b):
        adj[a].append(b)
        prev[b].append(a)
    else:
        removed.append(i)

print(len(removed))
for k in removed:
    print(k)
