import java.util.*;
public class Main {
public static void main(String[] args)
{
Scanner sc=new Scanner(System.in);
int N=sc.nextInt();
int V=sc.nextInt();
int[][] arr=new int[N+1][3];
for(int i=1;i<=N;i)
{
for(int j=1;j<=2;j)
{
arr[i][j]=sc.nextInt();
}
}
int[][] dp=new int[N+1][V+1];
for(int j=0;j<=V;j)
{
dp[0][j]=0;
}
for(int i=0;i<=N;i)
{
dp[i][0]=0;
}
for(int i=1;i<=N;i)
{
for(int j=1;j<=V;j)
{
dp[i][j]=Math.max(dp[i-1][j], j>=arr[i][1]?dp[i-1][j-arr[i][1]]+arr[i][2]:dp[i-1][j]);
}
}
System.out.println(dp[N][V]);
sc.close();
}
}