#include<iostream>
#include<cmath>
using namespace std;
const int maxn=100001;
int dx=0x3f3f3f3f;
int l,r,mid;
int n,m,s;
int w[maxn],v[maxn],sp[maxn],ep[maxn];
bool check(int W)
{
int ans1[maxn]={0},ans2[maxn]={0},ans[maxn]={0};
for(int i=1;i<=n;i++)
{
if(w[i]>=W)
{
ans1[i]=ans1[i-1]+1;
ans2[i]=ans2[i-1]+v[i];
}
else
{
ans1[i]=ans1[i-1];
ans2[i]=ans2[i-1];
}
}
for(int i=1;i<=m;i++)
{
ans[i] = (ans1[ep[i]]-ans1[sp[i]-1])*(ans2[ep[i]]-ans2[sp[i]-1]);//"-1"的位置
}
int sum;
for(int i=1;i<=m;i++)
{
sum+= ans[i];
}
dx=min(dx,abs(sum-s));
if(sum>s)
return 0;
else
return 1;
}
int main()
{
cin>>n>>m>>s;
for(int i=1;i<=n;i++)
{
cin>>w[i]>>v[i];
r=max(r,w[i]);
}
l=0;
for(int i=1;i<=m;i++)
{
cin>>sp[i]>>ep[i];
}
while(l<=r)
{
mid=(l+r)/2;
if(check(mid))
r=mid-1;
else
l=mid+1;
}
cout<<dx<<endl;
}