#include <cstdio>
#include <algorithm>
using namespace std;
int dp[3001][3001]={};
int x[3001][2];
int n,t,s,ans=0;
int main(){
        scanf("%d %d %d",&n,&t,&s);
        for(int i=1;i<=n;i++){
            scanf("%d %d",&x[i][0],&x[i][1]);
        }
        for(int i=x[1][1];i<=t;i++){
          dp[1][i]=x[1][0];
        }
        for(int i=1;i<n;i++){
            for(int j=0;j<=t;j++){
                if(j-x[i+1][1]<0){
                if(j==0){
                    dp[i+1][j]=dp[i][j];
                }else{
                    dp[i+1][j]=max(dp[i+1][j-1],dp[i][j]);
                }
                }else{
                    if(j>s && j-x[i+1][1]<s){
                    dp[i+1][j]=max(dp[i+1][j-1],dp[i][j]);
                    }else{
                    dp[i+1][j]=max(dp[i][j],dp[i][j-x[i+1][1]]+x[i+1][0]);
if(j!=0){
dp[i+1][j]=max(dp[i+1][j],dp[i+1][j-1]);
}
                    }/*DEGwer*/
                }
                ans=max(ans,dp[i+1][j]);
                }
            }
        printf("%d\n",ans);
        return 0;
    }