#include<bits/stdc++.h>
using namespace std;
long long n,m,s,ss,ans=0;
pair<long long,long long>pp[200005]; long long sum[200005],sup[200005];
pair<long long,long long>p[200005];
bool check(long long);
long long minn(long long,long long);
int main()
{
cin>>n>>m>>s;
for(int i=1;i<=n;i++)
cin>>pp[i].first>>pp[i].second;
for(int i=1;i<=m;i++)
cin>>p[i].first>>p[i].second;
ss=s;
cout<<minn(0,2*s);
return 0;
}
bool check(long long x)
{
memset(sum,0,sizeof(sum));
memset(sup,0,sizeof(sup));
ans=0;
for(int i=1;i<=n;i++)
{
if(pp[i].first>=x)
{
sum[i]=sum[i-1]+1;
sup[i]=sup[i-1]+pp[i].second;
}
else
{
sum[i]=sum[i-1];
sup[i]=sup[i-1];
}
}
for(int i=1;i<=m;i++)
ans+=(sum[p[i].second]-sum[p[i].first])*(sup[p[i].second]-sup[p[i].first]);
long long k=ans;
ans=abs(k-s);
if(k>=s)
return true;
return false;
}
long long minn(long long l,long long r)
{
while(l<r)
{
int mid=l+r+1>>1;
if(check(mid))
l=mid;
else
r=mid-1;
ss=min(ss,ans);
}
return ss;
}