#include <bits/stdc++.h>
#define int long long

using namespace std;

int dp[111][100111];
int W, n;
int v[100111];
int w[100111];

int32_t main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    cin >> n >> W;
    for (int i = 1; i <= n; i += 1) {
        cin >> w[i] >> v[i];
    }

    for (int i = 1; i <= n; i += 1) {
        for (int j = 0; j <= W; j += 1) {
            if (w[i] > j) {
                dp[i][j] = dp[i-1][j];
            } else {
                dp[i][j] = max(dp[i-1][j], v[i] + dp[i-1][j-w[i]]);
            }
        }
    }

    cout << dp[n][W];

    return 0;
}