#include <bits/stdc++.h>
using namespace std;
vector<string> code =
{"AEIOUYWH", "BPFV", "CSKGJQXZ",
 "DT", "L", "MN", "R"};

int main()
{
	map<char, int> find;
	for (int i = 0; i < 7; i++)
		for (int k = 0; k < code[i].size(); k++)
			find[code[i][k]] = i;
    //char find[] = {-1,'1','2','3',-1,'1','2',-1,-1,'2','2','4','5','5',
	//			   -1,'1','2','6','2','3',-1,'1',-1,'2',-1,'2'};

	cout << setw(9)  << "" << setw(25) << left << "NAME" << "SOUNDEX CODE" << endl;
	string name;
	
	while (cin >> name)
	{
		cout << setw(9) << "" << setw(25) << left << name;
		string output = "";
		output += name[0];
		
		int prev = find[name[0]];
		int count = 1;

		for (int i = 1; i < name.size() and count < 4; i++)
		{
			if (find[name[i]] != 0 && find[name[i]] != prev)
			{
				output += to_string(find[name[i]]);
				count++;
			}
            prev = find[name[i]];
		}
		cout << setw(4) << setfill('0') << output << endl << setfill(' ');
	}

	cout <<  setw(19) << "" << "END OF OUTPUT" << endl;
}