import sys def main(): N, M = map(int, sys.stdin.readline().split()) in_degree = [0] * (N + 1) out_degree = [0] * (N + 1) for _ in range(M): u, v = map(int, sys.stdin.readline().split()) out_degree[u] += 1 in_degree[v] += 1 count_plus = 0 count_minus = 0 sum_plus = 0 sum_minus = 0 for i in range(1, N+1): delta = out_degree[i] - in_degree[i] if delta > 0: count_plus += 1 sum_plus += delta elif delta < 0: count_minus += 1 sum_minus += -delta if sum_plus != sum_minus: print(-1) return if sum_plus == 0: print(1) return else: minimal_edges = max(count_plus - 1, count_minus - 1) print(minimal_edges) if __name__ == "__main__": main()