package main import . "fmt" import . "os" import bf "bufio" import . "sort" func main() { rd:=bf.NewReader(Stdin) var n,m,k int Fscan(rd,&n,&m,&k) eIn := make([]int, n+1) eOut := make([]int, n+1) for i := 0; i < m; i++ { var a, b int Fscan(rd,&a,&b) eOut[a]++ eIn[b]++ } outs := 0 ins := 0 idles := make([]int, 0, n) for e, c := range eOut { if c > 0 { outs++ ins += eIn[e] } else { idles = append(idles, eIn[e]) } } if k < outs { needs := max(0, outs * k - ins) Println(needs) return } Sort(Reverse(IntSlice(idles))) for _, c := range idles[:k+1-outs] { ins += c } ans := max(0, (k+1)*k - ins) Println(ans) }