#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m,x,ans=0;
struct node{
int a,b,dp,id,p;
}arr[100005];
int p[100005],c[100005];
bool cmp(node a,node b){
return a.dp>b.dp;
}
signed main(){
cin>>n>>m>>x;
for(int i=1;i<=n;++i){
cin>>p[i]>>c[i];
}
for(int i=1;i<=m;++i){
cin>>arr[i].a>>arr[i].b;
arr[i].id=1;
arr[i].dp=abs(arr[i].a-arr[i].b);
}
int l=1,r=n;
sort(p+1,p+1+n);
sort(arr+1,arr+1+m,cmp);
for(int i=1;i<=m;++i){
if(arr[i].a>arr[i].b){
if(c[l]>0){
c[l]--;
arr[i].p=p[l];
}
else{
l++;
c[l]--;
arr[i].p=p[l];
}
}
else{
if(c[r]>0){
c[r]--;
arr[i].p=p[r];
}
else{
r--;
c[r]--;
arr[i].p=p[r];
}
}
}
for(int i=1;i<=m;++i){
ans+=2*arr[i].p*arr[i].a+2*(x-arr[i].p)*arr[i].b;
}
cout<<ans;
return 0;
}