#include <iostream>
#include <string>
#include <map>
#include <cctype>
using namespace std;

map <char, string> morze = {
    	{ 'a', ".-"},
    	{ 'b', "-..."},
    	{ 'w', ".--"},
    	{ 'g', "--."},
    	{ 'd', "-.."},
    	{ 'e', "."},
    	{ 'v', "...-"},
    	{ 'z', "--.."},
    	{ 'i', ".."},
    	{ 'j', ".---"},
    	{ 'k', "-.-"},
    	{ 'l', ".-.."},
    	{ 'm', "--"},
    	{ 'n', "-."},
    	{ 'o', "---"},
    	{ 'p', ".--."},
    	{ 'r', ".-."},
    	{ 's', "..."},
    	{ 't', "-"},
    	{ 'u', "..-"},
    	{ 'f', "..-."},
    	{ 'h', "...."},
    	{ 'c', "-.-."},
    	{ 'q', "--.-"},
    	{ 'y', "-.--"},
    	{ 'x', "-..-"},
    	{ '1', ".----"},
    	{ '2', "..---"},
    	{ '3', "...--"},
    	{ '4', "....-"},
    	{ '5', "....."},
    	{ '6', "-...."},
    	{ '7', "--..."},
    	{ '8', "---.."},
    	{ '9', "----."},
    	{ '0', "-----"},
    	{ '.', "......"},
    	{ ',', ".-.-.-"},
    	{ ':', "---..."},
    	{ ';', "-.-.-."},
    	{ '(', "-.--.-"},
    	{ ')', "-.--.-"},
    	{ '"', ".-..-."},
    	{ '-', "-....-"},
    	{ '/', "-..-."},
    	{ '?', "..--.."},
    	{ '!', "--..--"},
    	{ ' ', "-...-"},
    	{ '@', ".--.-."},
};

int main() {
	string text;
	
	while(cin >> text) {
	    for(int i = 0; i < text.length(); i++) {
	    	text[i] = tolower(text[i]);
	    	cout << morze.find( text[i] )->second <<"  ";
	    }
	    cout << morze.find(' ')->second << "  ";
	}
	
	return 0;
}


