#include<iostream>
#include<string>
using namespace std;
string money;
void reuse(int, int, int);
void change(char);
int main()
{
cin >> money;
int arry = 0;
if (money.size() == 9)
{
change(money[0]);
cout << "Y";
arry = 1;
}
if (money.size() >= 5)
if (arry == 1)
{
reuse(1, 4, 1);
reuse(5, 4, 0);
}
else
{
reuse(0, money.size() - 4, 1);
reuse(money.size() - 4, 4, 0);
}
else
reuse(0, money.size(), 0);
}
void reuse(int N, int n, int m)
{
bool pl = true;
int i = 0;
if (n >= 4 && money[N + i] != '0')
{
change(money[N + i]); cout << 'Q';
pl = false;
}
if(i<n-1)
i++;
if (n >= 3 && money[N + i] != '0')
{
change(money[N + i]); cout << 'B';
pl = false;
}
else if (n >= 3 && money[N + i + 1] != '0')
cout << 'a';
if (i < n - 1)
i++;
if (n >= 2 && money[N + i] != '0')
{
change(money[N + i]); cout << 'S';
pl = false;
}
else if (n >= 2 && money[N + i + 1] != '0')
cout << 'a';
if (i < n - 1)
i++;
if (n >= 1 && money[N + i] != '0')
{
change(money[N + i]);
pl = false;
}
if (pl) cout << 'a';
if (m && !pl) cout << 'W';
}
void change(char c)
{
switch (c)
{
case '0':cout << 'a'; break;
case '1':cout << 'b'; break;
case '2':cout << 'c'; break;
case '3':cout << 'd'; break;
case '4':cout << 'e'; break;
case '5':cout << 'f'; break;
case '6':cout << 'g'; break;
case '7':cout << 'h'; break;
case '8':cout << 'i'; break;
case '9':cout << 'j'; break;
}
}