import sys sys.setrecursionlimit(100050) N,Q = map(int,input().split()) AB = [list(map(int,input().split())) for _ in range(Q)] def check(n): E = [[] for _ in range(N)] D = [0] * N for i in range(n): a,b = AB[i] a -= 1 b -= 1 E[a].append(b) D[b] += 1 Q = [] for i in range(N): if D[i] == 0: Q.append(i) while Q: x = Q.pop() for y in E[x]: D[y] -= 1 if D[y] == 0: Q.append(y) return sum(D) > 0 nv = [] lb = 0 ub = Q + 1 while ub - lb > 1: mid = (ub + lb) // 2 if check(mid): ub = mid else: lb = mid if ub == Q + 1: print(-1) else: print(ub)