#include <iostream>
#include <map>
#include <string>
using namespace std;
void test_func(char, char);
typedef void(&func_ref)(char, char);
static map<int,func_ref> tbl = {
{ 'A' << 8 | 'B', test_func },
{ 'B' << 8 | 'Q', test_func },
{ 'D' << 8 | 'S', test_func },
{ 'E' << 8 | 'Q', test_func },
{ 'B' << 8 | 'W', test_func },
{ 'F' << 8 | 'Q', test_func },
{ 'B' << 8 | 'S', test_func },
{ 'S' << 8 | 'Q', test_func },
{ 'B' << 8 | 'X', test_func },
{ 'R' << 8 | 'R', test_func },
{ 'B' << 8 | 'O', test_func },
{ 'K' << 8 | 'Q', test_func },
{ 'J' << 8 | 'I', test_func }
};
int main() {
char a, b;
while (cin >> a >> b) {
auto fp = tbl.find(a << 8 | b);
if (fp != tbl.end()) {
fp->second(a, b);
}
}
return 0;
}
void test_func(char a, char b) {
std::cout << "Voided function called: " << a << ":" << b << std::endl;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8c3RyaW5nPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKdm9pZCB0ZXN0X2Z1bmMoY2hhciwgY2hhcik7Cgp0eXBlZGVmIHZvaWQoJmZ1bmNfcmVmKShjaGFyLCBjaGFyKTsKCnN0YXRpYyBtYXA8aW50LGZ1bmNfcmVmPiB0YmwgPSB7Cgl7ICdBJyA8PCA4IHwgJ0InLCB0ZXN0X2Z1bmMgfSwKICAgIHsgJ0InIDw8IDggfCAnUScsIHRlc3RfZnVuYyB9LAogICAgeyAnRCcgPDwgOCB8ICdTJywgdGVzdF9mdW5jIH0sCiAgICB7ICdFJyA8PCA4IHwgJ1EnLCB0ZXN0X2Z1bmMgfSwKICAgIHsgJ0InIDw8IDggfCAnVycsIHRlc3RfZnVuYyB9LAogICAgeyAnRicgPDwgOCB8ICdRJywgdGVzdF9mdW5jIH0sCiAgICB7ICdCJyA8PCA4IHwgJ1MnLCB0ZXN0X2Z1bmMgfSwKICAgIHsgJ1MnIDw8IDggfCAnUScsIHRlc3RfZnVuYyB9LAogICAgeyAnQicgPDwgOCB8ICdYJywgdGVzdF9mdW5jIH0sCiAgICB7ICdSJyA8PCA4IHwgJ1InLCB0ZXN0X2Z1bmMgfSwKICAgIHsgJ0InIDw8IDggfCAnTycsIHRlc3RfZnVuYyB9LAogICAgeyAnSycgPDwgOCB8ICdRJywgdGVzdF9mdW5jIH0sCiAgICB7ICdKJyA8PCA4IHwgJ0knLCB0ZXN0X2Z1bmMgfQp9OwoKaW50IG1haW4oKSB7CgljaGFyIGEsIGI7Cgl3aGlsZSAoY2luID4+IGEgPj4gYikgewoJCWF1dG8gZnAgPSB0YmwuZmluZChhIDw8IDggfCBiKTsKCQlpZiAoZnAgIT0gdGJsLmVuZCgpKSB7CgkJCWZwLT5zZWNvbmQoYSwgYik7CgkJfQoJfQoJcmV0dXJuIDA7Cn0KCnZvaWQgdGVzdF9mdW5jKGNoYXIgYSwgY2hhciBiKSB7CiAgICBzdGQ6OmNvdXQgPDwgIlZvaWRlZCBmdW5jdGlvbiBjYWxsZWQ6ICIgPDwgYSA8PCAiOiIgPDwgYiA8PCBzdGQ6OmVuZGw7Cn0K