#include<bits/stdc++.h>#define endl '\n'#define int long long usingnamespace std;constint N =1010;int n, m;int v[N], w[N];int f[N][N];signedmain(){
cin >> n >> m;for(int i =1; i <= n; i ++) cin >> v[i]>> w[i];for(int i =1; i <= n; i ++)for(int j =0; j <= m; j ++)for(int k =0; k * v[i]<= j; k ++){
f[i][j]=max(f[i][j], f[i -1][j - k * v[i]]+ k * w[i]);}
cout << f[n][m];system("pause");}
#include<bits/stdc++.h>#define endl '\n'#define int long long usingnamespace std;constint N =1010;int n, m;int v[N], w[N];int f[N][N];signedmain(){
cin >> n >> m;for(int i =1; i <= n; i ++) cin >> v[i]>> w[i];for(int i =1; i <= n; i ++)for(int j =0; j <= m; j ++){
f[i][j]= f[i -1][j];if(j >= v[i]) f[i][j]=max(f[i][j], f[i][j - v[i]]+ w[i]);}
cout << f[n][m];system("pause");}