#include<bits/stdc++.h>
using namespace std;
int dp[4005][4005];
int n,A,B,a[50],b[50],c[50],ans=1e9;
int main()
{
	for(int i=0;i<4005;i++)for(int j=0;j<4005;j++)dp[i][j]=1e9;
	cin>>n>>A>>B;
	for(int i=0;i<n;i++)cin>>a[i]>>b[i]>>c[i];
	dp[0][0]=0;
	for(int i=0;i<n;i++)
		for(int x=4000;x>=a[i];x--)
			for(int y=4000;y>=b[i];y--)
				dp[x][y]=min(dp[x][y],dp[x-a[i]][y-b[i]]+c[i]);
	int x=A,y=B;
	while(x<=4000&&y<=4000)
	{
		ans=min(ans,dp[x][y]);
		x+=A;
		y+=B;
	}
	if(ans==1e9)cout<<-1<<endl;
	else cout<<ans<<endl;
	return 0;
} 