#include #include using namespace std; using namespace atcoder; #define ll long long #define rep(i,a,b) for(int i=(a);i<(b);i++) #define repl(i,a,b) for(ll i=(a);i<(b);i++) #define all(a) (a).begin(),(a).end() #define rall(a) (a).rbegin(),(a).rend() template bool chmin(T &a,T b){if(a>b){a=b;return true;} return false;} template bool chmax(T &a,T b){if(a> n >> m >> k; vector degin(n),degout(n); rep(i,0,m){ int a,b; cin >> a >> b; a--,b--; degin[b]++; degout[a]++; } int cnt1=0,cnt2=0; rep(i,0,n){ if(degin[i])cnt1++; if(degout[i])cnt2++; } ll ans=0; rep(i,0,n){ if(degout[i]){ ans+=max(0,k-degin[i]); // cout << i << " " << ans << "\n"; } } ll tmp=0; rep(i,0,n){ if(degout[i]){ chmax(tmp,(ll)k-degin[i]-cnt2+1); } else{ chmax(tmp,(ll)k-degin[i]-cnt2); } } vector v; rep(i,0,n){ if(degout[i] == 0) v.push_back(degin[i]); } sort(rall(v)); rep(i,0,tmp) ans+=max(0,k-v[i]); cout << ans << "\n"; return; } int main(){ ios::sync_with_stdio(false); cin.tie(nullptr); int T=1; // cin >> T; while(T--) solve(); }