n,k = map(int,input().split()) g = [[] for _ in range(n)] deg = [0]*n for _ in range(k): a,b = map(int,input().split()) g[a-1].append(b-1) deg[b-1] += 1 dp = [0]*n q = [i for i in range(n) if deg[i]==0] for i in q: dp[i] = 1 while q: v = q.pop() for c in g[v]: dp[c] = max(dp[c],dp[v]+1) deg[c] -= 1 if deg[c] == 0: q.append(c) print(-1 if min(dp) == 0 else max(dp))