#include<stdio.h>
#include<math.h>
#include<algorithm>
#include<queue>
#include<string>
#include<string.h>
#include<vector>
#include<set>
#include<map>
#include<stdlib.h>
using namespace std;
const long long mod=1000000007;
const long long inf=mod*mod;
int dp[500][500];
int main(){
	int a,b,c;scanf("%d%d%d",&a,&b,&c);
	for(int i=0;i<500;i++)for(int j=0;j<500;j++)dp[i][j]=mod;
	dp[0][0]=0;
	for(int i=0;i<a;i++){
		int p,q,r;scanf("%d%d%d",&p,&q,&r);
		for(int j=499;j>=0;j--)for(int k=499;k>=0;k--){
			if(dp[j][k]>=mod)continue;
			dp[j+p][k+q]=min(dp[j+p][k+q],dp[j][k]+r);
		}
	}
	int ret=mod;
	for(int i=1;i<499;i++){
		int s=b*i;
		int t=c*i;
		if(max(s,t)>=499)continue;
		ret=min(ret,dp[s][t]);
	}
	if(ret>=mod)printf("-1\n");else printf("%d\n",ret);
}