## https://yukicoder.me/problems/no/2403 def main(): N, M = map(int, input().split()) in_degrees = [0] * N out_degrees = [0] * N for _ in range(M): u, v = map(int, input().split()) in_degrees[u - 1] += 1 out_degrees[v - 1] += 1 in_degree_total = 0 out_degree_total = 0 for i in range(N): if in_degrees[i] > out_degrees[i]: in_degree_total += in_degrees[i] - out_degrees[i] elif in_degrees[i] < out_degrees[i]: out_degree_total += out_degrees[i] - in_degrees[i] if in_degree_total != out_degree_total: print(-1) return a = max(0, in_degree_total - 1) print(a) if __name__ == "__main__": main()