#include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
int n,m,r,w1[105],w2[105],t[105];
struct code{
int num,time;
}dp[105][105][105];
int main(){
cin>>n;
for(int i=1;i<=n;i++){
cin>>w1[i]>>w2[i]>>t[i];
}
cin>>m>>r;
for(int i=1;i<=n;i++){
for(int j=0;j<=m;j++){
for(int k=0;k<=r;k++){
if(j<w1[i] || k<w2[i]){
dp[i][j][k].num=dp[i-1][j][k].num;
dp[i][j][k].time=dp[i-1][j][k].time;
}else{
if(dp[i-1][j][k].num>=(dp[i-1][j-w1[i]][k-w2[i]].num+1)){
dp[i][j][k].num=dp[i-1][j][k].num;
dp[i][j][k].time=dp[i-1][j][k].time;
}else{
dp[i][j][k].num=(dp[i-1][j-w1[i]][k-w2[i]].num+1);
dp[i][j][k].time=(dp[i-1][j-w1[i]][k-w2[i]].time+t[i]);
}
}
}
}
}
for(int j=0;j<=m;j++){
for(int k=0;k<=r;k++){
if(dp[n][j][k].num>=dp[n][m][r].num){
cout<<dp[n][j][k].time;
return 0;
}
}
}
return 0;
}