#include<bits/stdc++.h>
using namespace std;
const ll INF = 0x3f3f3f3f;
const ll mod = 9901;
const ll MAX = 200005;
ll n, m, s;
ll ans = 1e18+10;
ll w[MAX], v[MAX], l[MAX], r[MAX];
ll pv[MAX], pw[MAX];
bool check(int W) {
memset(pv, 0, sizeof(pv));
memset(pw, 0, sizeof(pw));
for (int i = 1; i <= n; i++) {
pw[i] = pw[i - 1];
pv[i] = pv[i - 1];
if (w[i] >= W) {
pw[i] += v[i];
pv[i]++;
}
}
ll now = 0;
for (int i = 1; i <= n; i++) {
now += (pw[r[i]] - pw[l[i]-1]) * (pv[r[i]] - pv[l[i]-1]);
}
//cout << now << endl;
ans = min(ans, abs(now-s));
return now - s > 0;
}
void solve() {
cin >> n >> m >> s;ll maxa = -1, mina = 2147483647;
for (int i = 1; i <= n; i++) {
cin >> w[i] >> v[i];
maxa = max(maxa, w[i]);
mina = min(mina, w[i]);
}
for (int i = 1; i <= m; i++)cin >> l[i] >> r[i];
mina -= 100; maxa += 200;
while (mina < maxa) {
ll mid = (mina + maxa)/2;
//cout << mid <<" ";
//cout << mina << " " << maxa << endl;
if (check(mid))mina = mid + 1;
else maxa = mid;
}
cout << ans;
}
int main() {
ios::sync_with_stdio(false); cin.tie(0); cout.tie(0);
//int t; cin >> t;
//while (t--)
solve();
return 0;
}