n, m, k = list(map(int, input().split())) node = [[] for _ in range(n)] A = [0] * n B = [0] * n for _ in range(m): u, v = list(map(lambda x: int(x)-1, input().split())) node[u].append(v) B[u] += 1 A[v] += 1 if k+1 <= sum([1 for i in range(n) if B[i]]): ans = 0 for i in range(n): if B[i]: ans += max(0, k-A[i]) else: ans = 0 c = k+1 C = [A[i] for i in range(n) if not B[i]] #print(C) C.sort(key = lambda x: -x) for i in range(n): if B[i]: c -= 1 ans += max(0, k-A[i]) for d in C[:c]: ans += max(0, k-d) print(ans)