#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,m,s;
int w[200100],v[200100];
int l[200100],r[200100];
int mn,ma;
int sx=0,ans=0x3f3f3f3f;
int qz[200100],qz2[200100];
bool check(int x){
int sum=0;
memset(qz,0,sizeof(qz));
memset(qz2,0,sizeof(qz2));
for(int i=1;i<=n;i++){
if(w[i]>=x)qz[i]=qz[i-1]+1,qz2[i]=qz2[i-1]+v[i];
else qz[i]=qz[i-1],qz2[i]=qz2[i-1];
}
for(int i=1;i<=m;i++){
int ll=l[i];
int rr=r[i];
sum+=(qz[rr]-qz[ll-1])*(qz2[rr]-qz2[ll-1]);
}
sx=sum;
if(sum>x)return true;
else return false;
}
signed main()
{
cin>>n>>m>>s;
for(int i=1;i<=n;i++){
cin>>w[i]>>v[i];
mn=min(w[i],mn);
ma=max(w[i],ma);
}
for(int i=1;i<=m;i++){
cin>>l[i]>>r[i];
}
int lx=0,rx=2001000;
while(lx<=rx){
int mid=(lx+rx+1)/2;
if(check(mid))lx=mid+1;
else rx=mid-1;
ans=min(ans,llabs(sx-s));
}
cout<<ans<<endl;
return 0;
}