rt
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int N = 200010;
inline int read(){
int x=0,f=1;char c=getchar();
for(;(c<'0'||c>'9');c=getchar()){if(c=='-')f=-1;}
for(;(c>='0'&&c<='9');c=getchar())x=x*10+(c&15);
return x*f;
}
ll n=read(),m=read(),s=read();
ll l[N],r[N],w[N],v[N],pre_w[N],pre_v[N];
ll y,sum;
bool check(ll W)
{
y=0,sum=0;
memset(pre_w,0,sizeof(pre_w));
memset(pre_v,0,sizeof(pre_v));
for(int i=1;i<=n;i++)
{
if(w[i]>=W) pre_w[i]=pre_w[i-1]+1,pre_v[i]=pre_v[i-1]+v[i];
else pre_w[i]=pre_w[i-1],pre_v[i]=pre_v[i-1];
}
for(int i=1;i<=m;i++)
y+=(pre_w[r[i]]-pre_w[l[i]-1])*(pre_v[r[i]]-pre_v[l[i]-1]);
sum=llabs(y-s);
if(y>s) return true;
return false;
}
ll wm=-1,wn=0x3f3f3f3f3f;
int main(){
//freopen("P1314_2.in","r",stdin);
for(int i=1;i<=n;i++) w[i]=read(),v[i]=read(),wn=min(wn,w[i]),wm=max(wm,w[i]);
for(int i=1;i<=m;i++) l[i]=read(),r[i]=read();
// w[0]=w[1],v[0]=v[1];
ll left=wn-1,right=wm+2,mid;
ll ans=0x3f3f3f3f3f3f3f3f;
while(left<=right)
{
mid=(left+right)>>1;
if(!check(mid)) right=mid-1;
else left=mid+1;
if(ans>=sum) ans=sum;
}
printf("%lld",ans);
return 0;
}