#nullable enable #region var (_input, _iter) = (Array.Empty(), 0); T I() where T : IParsable { while (_iter >= _input.Length) (_input, _iter) = (Console.ReadLine()!.Trim().Split(' '), 0); return T.Parse(_input[_iter++], null); } #endregion var n = I(); var m = I(); var k = I(); var iz = new int[n]; var oz = new int[n]; for (var i = 0; i < m; i++) { var u = I() - 1; var v = I() - 1; oz[u]++; iz[v]++; } var l0 = new List(); var ans = 0L; for (var i = 0; i < n; i++) { if (oz[i] == 0) { l0.Add(k - iz[i]); continue; } ans += Math.Max(0, k - iz[i]); } l0.Sort(); l0.Reverse(); if (n - 1 - k < l0.Count) ans += l0[(n - 1 - k)..].Sum(); Console.WriteLine(ans);