#include<bits/stdc++.h>
using namespace std;
struct ti{
int w,c;
}a[10001];
bool cmp(ti x,ti y){
return x.c>y.c;
}
int main(){
int n,m,k,dp[1001][11] = {0},num = 0,ans = -1,kk;
cin>>n>>m>>kk;
for(int i = 1;i<=n;i++){
cin>>a[i].c>>a[i].w;
}
for(int i = 1;i<=n;i++){
for(int j = m;j>=a[i].w;j--){
for(int k = min(i,kk);k>=1;k--){
dp[j][k] = max(dp[j][k],dp[j-a[i].w][k]+a[i].c);
dp[j][k] = max(dp[j][k],dp[j-a[i].w][k-1]+a[i].c*2);
ans = max(ans,dp[j][k]);
}
dp[j][0] = max(dp[j][0],dp[j-a[i].w][0]+a[i].c);
ans = max(ans,dp[i][0]);
}
}
cout<<ans<<endl;
return 0;
}