#include #include #include using namespace std; int knapsack(const vector>& items, int w, int d) { int n = items.size(); vector> dp(w + 1, vector(d + 1, 0)); for (int i = 1; i <= n; ++i) { const vector& item = items[i - 1]; int type = item[0]; int weight = item[1]; int value = item[2]; for (int wi = w; wi >= weight; --w) { for (int di = d; di >= type; --d) { dp[wi][di] = max(dp[wi][di], dp[wi - weight][di - type] + value); } } } return dp[w][d]; } int main() { int n, w, d; cin >> n >> w >> d; vector> items(n, vector(3)); for (int i = 0; i < n; ++i) { cin >> items[i][0] >> items[i][1] >> items[i][2]; } int max_value = knapsack(items, w, d); cout << max_value << endl; return 0; }