#include<bits/stdc++.h>
using namespace std;
long long w[200005],v[200005],l[200005],r[200005],sc[200005],sv[200005];
int n,m,s;
long long ans=100000000000000;
int check(int ww){
for (int i = 1; i <= n;i++){
if(w[i]>=ww){
sc[i] = sc[i - 1] + 1;
sv[i] = sv[i - 1] + v[i];
}else{
sc[i] = sc[i - 1];
sv[i] = sv[i - 1];
}
}
long long y = 0;
for (int i = 1; i <= m;i++){
y += (sc[r[i]] - sc[l[i] - 1]) * (sv[r[i]] - sv[l[i] - 1]);
}
return y;
}
int main(){
cin >> n >> m >> s;
for (int i = 1; i <= n;i++){
scanf("%lld %lld", &w[i], &v[i]);
}
for (int i = 1; i <= m;i++){
scanf("%lld %lld", &l[i], &r[i]);
}
long long left = 1,right = 114514;
while(right-left>1){
int mid = (left + right) / 2;
if(check(mid)>s){
left = mid;
}else{
right = mid;
}
}
cout << min(abs(check(left) - s), abs(s - check(right))) << endl;
return 0;
}