import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String[] sa = br.readLine().split(" "); int n = Integer.parseInt(sa[0]); int m = Integer.parseInt(sa[1]); int[] s = new int[n]; int[] a = new int[n]; for (int i = 0; i < n; i++) { sa = br.readLine().split(" "); s[i] = Integer.parseInt(sa[0]); a[i] = Integer.parseInt(sa[1]); } br.close(); int[] dp = new int[m + 1]; for (int i = 0; i < n; i++) { for (int j = m - s[i]; j >= 0; j--) { int nj = j + s[i]; dp[nj] = Math.max(dp[nj], dp[j] + a[i]); } } System.out.println(dp[m]); } }