#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int n, m;
int v[505], w[505], s[505], f[6005];
int main() {
cin >> n >> m;
for (int i = 1; i <= n; i++) {
cin >> v[i] >> w[i] >> s[i];
}
for (int i = 1; i <= n; i++) {
//遍历每一个物品
for (int j = m; j >= 0; j--) {
for (int k = 0; k <= s[i]; k++) {
//注意这里k是用来乘的
if (j - k * v[i] < 0) break;
else
f[j] = max(f[j], f[j - k * v[i]] + k * w[i]);
}
}
}
cout << f[m] << endl;
return 0;
}