#include<iostream>
#include<algorithm>
using namespace std;
typedef long long ll;
const int N=1e5+10;
struct node{
int p,c;
};
struct node2{
int a,b,dis;
};
node station[N];
node2 car[N];
int n,m,x;
ll ans=0;
bool cmp1(node x,node y){
return x.p<y.p;
}
bool cmp2(node2 x,node2 y){
return x.dis>y.dis;
}
int main() {
cin>>n>>m>>x;
for(int i=0;i<n;i++){
cin>>station[i].p>>station[i].c;
}
for(int i=0;i<m;i++){
cin>>car[i].a>>car[i].b;
car[i].dis=car[i].a-car[i].b;
}
sort(station,station+n,cmp1);
sort(car,car+m,cmp2);
int now_pos=0;
for(int i=0;i<m;i++){
ll dis=0;
dis+=(1ll*car[i].a*station[now_pos].p)*2;
dis+=(1ll*car[i].b*(x-station[now_pos].p))*2;
ans+=dis;
station[now_pos].c--;
if(station[now_pos].c==0){
now_pos++;
}
}
cout<<ans<<endl;
return 0;
}