#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
string coder[128];
map<string, char> decoder;
int main()
{
coder[(int)'A'] = ".-";
coder[(int)'B'] = "-...";
coder[(int)'C'] = "-.-.";
coder[(int)'D'] = "-..";
coder[(int)'E'] = ".";
coder[(int)'F'] = "..-.";
coder[(int)'G'] = "--.";
coder[(int)'H'] = "....";
coder[(int)'I'] = "..";
coder[(int)'J'] = ".---";
coder[(int)'K'] = "-.-";
coder[(int)'L'] = ".-..";
coder[(int)'M'] = "--";
coder[(int)'N'] = "-.";
coder[(int)'O'] = "---";
coder[(int)'P'] = ".--.";
coder[(int)'Q'] = "--.-";
coder[(int)'R'] = ".-.";
coder[(int)'S'] = "...";
coder[(int)'T'] = "-";
coder[(int)'U'] = "..-";
coder[(int)'V'] = "...-";
coder[(int)'W'] = ".--";
coder[(int)'X'] = "-..-";
coder[(int)'Y'] = "-.--";
coder[(int)'X'] = "--..";
coder[(int)'_'] = "..--";
coder[(int)','] = ".-.-";
coder[(int)'.'] = "---.";
coder[(int)'?'] = "----";
decoder[".-"] = 'A';
decoder["-..."] = 'B';
decoder["-.-."] = 'C';
decoder["-.."] = 'D';
decoder["."] = 'E';
decoder["..-."] = 'F';
decoder["--."] = 'G';
decoder["...."] = 'H';
decoder[".."] = 'I';
decoder[".---"] = 'J';
decoder["-.-"] = 'K';
decoder[".-.."] = 'L';
decoder["--"] = 'M';
decoder["-."] = 'N';
decoder["---"] = 'O';
decoder[".--."] = 'P';
decoder["--.-"] = 'Q';
decoder[".-."] = 'R';
decoder["..."] = 'S';
decoder["-"] = 'T';
decoder["..-"] = 'U';
decoder["...-"] = 'V';
decoder[".--"] = 'W';
decoder["-..-"] = 'Q';
decoder["-.--"] = 'Y';
decoder["--.."] = 'Z';
decoder["..--"] = '_';
decoder[".-.-"] = ',';
decoder["---."] = '.';
decoder["----"] = '?';
ios_base::sync_with_stdio(false);
string line;
vector<int> sizes;
ostringstream morse;
while(getline(cin, line)) {
for(string::iterator it = line.begin(); it != line.end(); ++it) {
//cout << *it;
string& str = coder[(int)(*it)];
morse << str;
sizes.push_back(str.size());
}
string encoded = morse.str();
//cout << "\n" << encoded << "\n";
int pos = 0;
reverse(sizes.begin(), sizes.end());
for (vector<int>::iterator it = sizes.begin(); it != sizes.end(); ++it) {
cout << decoder[encoded.substr(pos, *it)];
pos += *it;
}
cout << "\n";
sizes.clear();
morse.str("");
morse.clear();
}
cout.flush();
}