#include <bits/stdc++.h>
#define int long long
using namespace std;
const int N = 2 * 1e5 + 1;
int n, m, s;
int y;
int w[N], v[N];
int l[N], r[N];
int q1[N], q2[N];
bool check(int x){
y = 0;
memset(q1, 0, sizeof(q1));
memset(q2, 0, sizeof(q2));
for(int i = 1;i <= n;i ++){
if(w[i] >= x){
q1[i] = q1[i - 1] + 1;
q2[i] = q2[i - 1] + v[i];
}
else{
q1[i] = q1[i - 1];
q2[i] = q2[i - 1];
}
}
for(int i = 1;i <= m;i ++){
y += (q1[r[i]] - q1[l[i]]) * (q2[r[i]] - q2[l[i]]);
}
return y > s;
}
signed main(){
cin >> n >> m >> s;
for(int i = 1;i <= n;i ++) cin >> w[i] >> v[i];
for(int i = 1;i <= m;i ++) cin >> l[i] >> r[i];
int l = 1, r = N, mid;
int ans = s;
while(l <= r){
mid = l + (r - l) / 2;
if(check(mid)){
l = mid + 1;
}
else{
r = mid - 1;
}
ans = min(ans, abs(s - y));
}
cout << ans;
return 0;
}