import sys sys.setrecursionlimit(1 << 25) def main(): import sys input = sys.stdin.read data = input().split() idx = 0 N = int(data[idx]) idx += 1 Q = int(data[idx]) idx += 1 parent = list(range(N + 1)) # 1-based indexing def find(u): # Check if B is an ancestor of u original_u = u while True: if parent[u] == u: break u = parent[u] # Path compression temp = original_u while parent[temp] != u: next_temp = parent[temp] parent[temp] = u temp = next_temp return u for i in range(1, Q + 1): A = int(data[idx]) idx += 1 B = int(data[idx]) idx += 1 # Check if B is an ancestor of A current = A found = False visited = set() while True: if current == B: found = True break if current in visited: break visited.add(current) p = parent[current] if p == current: break current = p if found: print(i) return # Otherwise, set B's parent to A parent[B] = A print(-1) if __name__ == "__main__": main()