#include<bits/stdc++.h>
#define fi first
#define se second
using namespace std;
using ll=long long;
const int N=300005;
int n,m,s;
ll ans, l[N], r[N], cnt;
priority_queue<int, vector<int>, greater<int>>pq;
pair<ll,ll>a[N];
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
cin>>n>>m>>s;
for(int i=1;i<=n;i++)
cin>>a[i].fi>>a[i].se;
sort(a+1,a+n+1,[](const pair<ll,ll>&x,const pair<ll,ll>&y){
return (x.fi-x.se)>(y.fi-y.se);
});
for(int i=1;i<=n;i++)
if(i<=m){
cnt+=a[i].fi;
pq.push(a[i].fi);
l[i]=cnt;
} else {
if(a[i].fi>pq.top()){
cnt-=pq.top();
pq.pop();
cnt+=a[i].fi;
pq.push(a[i].fi);
}
l[i]=cnt;
}
while(!pq.empty()) pq.pop();
cnt=0;
for(int i=n;i>=1;i--)
if(n-i+1<=s){
cnt+=a[i].se;
pq.push(a[i].se);
r[i]=cnt;
} else {
if(a[i].se>pq.top()){
cnt-=pq.top();
pq.pop();
cnt+=a[i].se;
pq.push(a[i].se);
}
r[i]=cnt;
}
for(int i=m;i<n-s+1;i++)
//cout<<i<<' '<< l[i]<<" "<<r[i]<<endl;
ans=max(ans,l[i]+r[i+1]);
cout<<ans;
return 0;
}