#include<iostream>
using namespace std;
int a[1001][1001];
int max(int b,int c){
if(b>c)
return b;
else
return c;
}
int main(){
int c[1001];
int tx[1001];
int n,t;
cin>>n>>t;
for(int i=1;i<=n;i++){
cin>>c[i];
cin>>tx[i];
}
for(int i=1;i<=n;i++)
for(int j=1;j<=t;j++){
if(a[i-1][j]+tx[i]<=j)
a[i][j]=a[i-1][j];
else
a[i][j]=max(a[i-1][j],a[i-1][j-tx[i]]+c[i]);
}
cout<<a[n][t];
}