#include <iostream>
#include <fstream>
#include <sstream>
#include <vector>
#include <algorithm>
#include <map>
#include <set>
#include <stack>
#include <queue>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cctype>
#include <ctime>

#define forr(a,b,c) for(int (a) = (b); (a) < (c); ++ (a))
#define fore(a,b,c) for(int (a) = (b); (a) <= (c); ++ (a))

#define pii pair<int,int>
#define int3 pair<pair<int,int>, int>
#define vi vector<int>
#define ull long long
#define vs vector<string>

//#define DEBUG

using namespace std;

map<string,char> m;

string decode(string s){
	if(m[s]) return string("")+m[s];
	if(s.size() <= 3 && !m[s]) return "!";
	
	string ret;
	string b = s.substr(2,s.size()-2), a = s.substr(0,2);
	if(m[a]){
		ret = m[a]+decode(b);
		if(ret[ret.size()-1] != '!') return ret;
	}
	
	b = s.substr(3,s.size()-3); a = s.substr(0,3);
	if(m[a]){
		ret = m[a]+decode(b);
		if(ret[ret.size()-1] != '!') return ret;
	}
	
	return "";
}

int main(){
	
	#ifndef DEBUG
		freopen("DATA4.txt", "r", stdin);
		freopen("OUT4.txt", "w", stdout);
	#endif
	
		m["31"] = 'A';
		m["33"] = 'B';
		m["313"] = 'C';
		m["23"] = 'D';
		m["233"] = 'E';
		
	forr(_r,0,5){
		
		
		string r1, r2;
		cin >> r1 >> r2;
		
		string hash;
		for(int i=0; i<r1.size(); ++i){
			hash += char('0'+((r1[i]=='x')*2 + (r2[i]=='x')));
		}
		
		cout << decode(hash) << '\n';
		
	}
	
	#ifdef DEBUG
		system("pause");
	#endif
	
	return 0;
}

