#include<bits/stdc++.h>
using namespace std;

const int N=2e3+10;

int n,T;
int dp[N][N];

int main(){
//	ios::sync_with_stdio(false);
//	cin.tie(0);
	
	cin>>n>>T;
	vector<pair<int,int>> vpr[N];
	int a,b,c,d;
	for(int i=1;i<=n;i++){
		cin>>a>>b>>c>>d;
		vpr[i].push_back({a,b});
		vpr[i].push_back({c,d});
	}
	
	for(int i=1;i<=n;i++){
		int ta=vpr[i][0].first;
		int sa=vpr[i][0].second;
		int tb=vpr[i][1].first;
		int sb=vpr[i][1].second;
		for(int j=0;j<=T;j++){
			dp[i][j]=dp[i-1][j];
			if(j>=tb){
				dp[i][j]=max(dp[i][j],dp[i-1][j-tb]+sb);
			}
			if(j>=ta){
				dp[i][j]=max(dp[i][j],dp[i-1][j-ta]+sa);
			}
		}
	}
	string res="";
	int time=T;
	for(int i=n;i>=1;i--){
		int ta=vpr[i][0].first;
		int sa=vpr[i][0].second;
		int tb=vpr[i][1].first;
		int sb=vpr[i][1].second;
		if(time>=ta&&dp[i][time]==dp[i-1][time-ta]+sa){
			res='A'+res;
			time-=ta;
		}else if(time>=tb&&dp[i][time]==dp[i-1][time-tb]+sb){
			res='B'+res;
			time-=tb;
		}else{
			res='F'+res;
		}
	}
	cout<<res<<endl;
//	cout<<dp[n][T]<<endl;
    return 0;
}