/**
* @Package
* @ClassName: Main_3624
* @author 小杰
* @date 2021年6月5日 下午2:44:36
* @Description: TODO(这里用一句话描述这个类的作用)
*/
import java.util.Scanner;
public class Main_3624 {
static int n, m;//n为物品个数 m为物品价值
static int v[] = new int[3500];//质量
static int d[] = new int[3500];//价值
static int dp[] = new int[20000];//每个质量下的最大价值
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
n = in.nextInt();
m = in.nextInt();
for (int i = 0; i < n; i++) {
v[i] = in.nextInt();
d[i] = in.nextInt();
}
//遍历每个物品
for (int i = 0; i < n; i++) {
//在选第i个物品下,遍历每个质量下的最大价值
for (int j = m; j >= v[i]; j--) {
dp[j] = max(dp[j], dp[j - v[i]] + d[i]);
}
}
System.out.println(dp[m]);
}
//比较最大返回
private static int max(int i, int j) {
if (i < j)
return j;
else
return i;
}
}