#include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ll = long long; int main(){ ll N, M, X, A, B, K, ans=0; cin >> N >> M >> X; vector> v(M+1); priority_queue que; for (int i=0; i> A >> B; v[B].push(A); } for (int i=1; i<=M; i++){ bool f=1; while(!v[i].empty()){ A = v[i].top(); v[i].pop(); if (f){ A += X; f=0; } que.push(A); } } vector S(N+1); for (int i=1; i<=N; i++){ A = que.top(); que.pop(); S[i] += S[i-1] + A; } cin >> K; for (int i=0; i> A; ans += S[A]; } cout << ans << endl; return 0; }