#include<iostream>
using namespace std;
const int maxn=200010;
int w[maxn],v[maxn],l[maxn],r[maxn];
long long f[maxn],summ[maxn];
long long y,s,sum,ans=0x3f3f3f3f3f3f3f3f;
int n,m,mx=-1;
bool check(int W){
y=0,sum=0;
for(int i=1;i<=n;i++){
if(w[i]>=W){
f[i]=f[i-1]+1;
summ[i]=summ[i-1]+v[i];
}else{
f[i]=f[i-1],summ[i]=summ[i-1];
}
}
for(int i=1;i<=m;i++){
y+=(f[r[i]]-f[l[i]-1])*(summ[r[i]]-summ[l[i]-1]);
}
sum=llabs(y-s);
return y>s;
}
int main(){
cin>>n>>m>>s;
for(int i=1;i<=n;i++){
cin>>w[i]>>v[i];
mx=max(mx,w[i]);
}
for(int i=1;i<=m;i++){
cin>>l[i]>>r[i];
}
int left=0,right=mx,mid;
while(left<=right)
{
mid=(left+right)/2;
if(check(mid)) {
left=mid+1;
}else{
right=mid-1;
}
ans=max(ans,sum);
}
cout<<sum;
return 0;
}