#include<bits/stdc++.h>
using namespace std;
typedef unsigned int ui;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int>PII;
int Max=0,Min=0x3f3f3f3f;
const int N=2e5+10;
int w[N],v[N],x[N],y[N];
void solve()
{
int n,m;
ll s;
cin>>n>>m>>s;
for(int i=1;i<=n;i++)
{
cin>>w[i]>>v[i];
Max=max(Max,w[i]),Min=min(Min,w[i]);
}
for(int i=1;i<=m;i++)cin>>x[i]>>y[i];
int l=Min-1,r=Max+1;
map<int,ll>ans;
auto check=[&](auto check,int mid)
{
vector<ll>snum(n+1),sv(n+1);
for(int i=1;i<=n;i++)
{
if(w[i]>=mid)snum[i]=snum[i-1]+1,sv[i]=sv[i-1]+v[i];
else snum[i]=snum[i-1],sv[i]=sv[i-1];
}
ll res=0;
for(int i=1;i<=m;i++)
res+=(snum[y[i]]-snum[x[i]-1])*(sv[y[i]]-sv[x[i]-1]);
ans[mid]=res;
if(res>s)return true;
else return false;
};
while(l+1<r)
{
int mid=l+r>>1;
if(check(check,mid)) l=mid;
else r=mid;
}
cout<<abs(ans[l]-s);
}
int main()
{
ios::sync_with_stdio(false);cin.tie(0),cout.tie(0);
solve();cout<<'\n';
return 0;
}