#include<bits/stdc++.h>
#define int long long
using namespace std;
const int M=1e2+110;
int read(){
int sum=0,k=1;
char c=getchar();
while(c>'9'||c<'0'){
if(c=='-') k=-1;
c=getchar();
}
while(c>='0'&&c<='9'){
sum=sum*10+c-'0';
c=getchar();
}return sum*k;
}
struct w{
int val;
string s;
}ans[M];
bool cmp(w a,w b){
if(a.val==b.val) return a.s<b.s;
return a.val>b.val;
}
signed main(){
int a=read(),b=read(),c=read(),d=read(),e=read();
ans[1].val=a+b+c+d+e,ans[1].s="ABCDE";
ans[2].val=a+b+c+d,ans[2].s="ABCD";
ans[3].val=a+b+c+e,ans[3].s="ABCE";
ans[4].val=a+b+d+e,ans[4].s="ABDE";
ans[5].val=a+c+d+e,ans[5].s="ACDE";
ans[6].val=b+c+d+e,ans[6].s="BCDE";
ans[7].val=c+d+e,ans[7].s="CDE";
ans[8].val=b+d+e,ans[8].s="BDE";
ans[9].val=b+c+e,ans[9].s="BCE";
ans[10].val=b+c+d,ans[10].s="BCD";
ans[11].val=a+d+e,ans[11].s="ADE";
ans[12].val=a+c+e,ans[12].s="ACE";
ans[13].val=a+c+d,ans[13].s="ACD";
ans[14].val=a+b+e,ans[14].s="ABE";
ans[15].val=a+b+d,ans[15].s="ABD";
ans[16].val=a+b+c,ans[16].s="ABC";
ans[17].val=a+b,ans[17].s="AB";
ans[18].val=a+c,ans[18].s="AC";
ans[19].val=a+d,ans[19].s="AD";
ans[20].val=a+e,ans[20].s="AE";
ans[21].val=b+c,ans[21].s="BC";
ans[22].val=b+d,ans[22].s="BD";
ans[23].val=b+e,ans[23].s="BE";
ans[24].val=c+d,ans[24].s="CD";
ans[25].val=c+e,ans[25].s="CE";
ans[26].val=d+e,ans[26].s="DE";
ans[27].val=a,ans[27].s="A";
ans[28].val=b,ans[28].s="B";
ans[29].val=c,ans[29].s="C";
ans[30].val=d,ans[30].s="D";
ans[31].val=e,ans[31].s="E";
sort(ans+1,ans+1+31,cmp);
for(int i=1;i<=31;i++) cout<<ans[i].s<<endl;
return 0;
}