#include<bits/stdc++.h>
using namespace std;
int n,ma,mb,a[100],b[100],c[100],x,y,les=1e6;
int arr[505][505];
int main(){
	memset(arr,0,sizeof arr);
	scanf("%d%d%d",&n,&ma,&mb);
	for(int i=1;i<=n;i++){
		scanf("%d%d%d",&a[i],&b[i],&c[i]);
	}
	for(int i=0;i<=400;i++){
		for(int j=0;j<=400;j++){
			arr[i][j] = 1e6;
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=400;j>=1;j--){
			for(int k=400;k>=1;k--){
				if(arr[j][k] != 0){
					arr[j+a[i]][k+b[i]] = min(arr[j][k] + c[i],arr[j+a[i]][k+b[i]]);
				}
			}
		}
		arr[a[i]][b[i]] = min(c[i],arr[a[i]][b[i]]);
	}
	x = 1;
	y = 1;
	while(ma*x <= 400 && mb*y <= 400){
		if(arr[ma*x][mb*y] < les && arr[ma*x][mb*y] != 0){
			les = arr[ma*x][mb*y];
		}
		x++;
		y++;
	}
	if(les == 1e6){
		les = -1;
	}
	printf("%d\n",les);
}