/*
TASK: MORSE
LANG: C++
*/
#include <iostream>

using namespace std;

char msg[256];
int i=0;

void say(char asc, char* mor) {
    if(msg[i]>=97 && msg[i]<=122) msg[i]-=32;
    if(msg[i]==asc) {
        cout<<mor;
        cout<<" ";
    }
    return;
}

int main() {
    cin.getline(msg, 256);
    for(; i<=255; i++) {
       say('A', ".-");
       say('B', "-...");
       say('C', "-.-.");
       say('D', "-..");
       say('E', ".");
       say('F', "..-.");
       say('G', "--.");
       say('H', "....");
       say('I', "..");
       say('J', ".---");
       say('K', "-.-");
       say('L', ".-..");
       say('M', "--");
       say('N', "-.");
       say('O', "---");
       say('P', ".--.");
       say('Q', "--.-");
       say('R', ".-.");
       say('S', "...");
       say('T', "-");
       say('U', "..-");
       say('V', "...-");
       say('W', ".--");
       say('X', "-..-");
       say('Y', "-.--");
       say('Z', "--..");
       say('1', ".----");
       say('2', "..---");
       say('3', "...--");
       say('4', "....-");
       say('5', ".....");
       say('6', "-....");
       say('7', "--...");
       say('8', "---..");
       say('9', "----.");
       say('0', "-----");
       say('.', ".-.-.-");
       say(',', "--..--");
       say('-', "-..-.");
       say('?', "..--..");
       say(' ', ".-.-.");
    }
    cout<<"...-.-"<<endl;
    return 0;
}
