#include #define rep(i,n) for(int i=0; i<(int)(n); i++) using namespace std; using LL = long long; int main(){ int N, M; LL X; cin >> N >> M >> X; vector> G(M); rep(i,N){ LL v, g; cin >> v >> g; g--; G[g].emplace_back(v); } int K; cin >> K; vector p(K); rep(i,K) cin >> p[i]; rep(i,M) sort(G[i].begin(),G[i].end(),greater()); rep(i,M) if(G[i].size()) G[i][0] += X; vector V; rep(i,M){ rep(j,G[i].size()) V.emplace_back(G[i][j]); } sort(V.begin(),V.end(),greater()); vector sum(N+1); rep(i,N) sum[i+1] = sum[i] + V[i]; LL ans = 0; rep(i,K) ans += sum[p[i]]; cout << ans << endl; return 0; }