#include using namespace std; #define rep(i,n) for (int i = 0; i < (n); ++i) typedef long long ll; const long long INF = 1e18; void chmax(ll *a,ll b){ if (*a>N>>K; vector p(N),d(N); rep(i,N) cin>>p[i]>>d[i]; vector>> dp(2,vector>(N+1,vector(K+1,0))); rep(i,N)rep(j,K+1){ chmax(&dp[0][i+1][j],dp[0][i][j]); if (j+d[i]<=K) chmax(&dp[1][i+1][j+p[i]],dp[0][i][j]+d[i]); if (dp[1][i][j]==0) continue; chmax(&dp[1][i+1][j],dp[1][i][j]); chmax(&dp[0][i+1][j],dp[1][i][j]+d[i]); } cout<<(dp[0][N][K]