/*
TASK: morse
LANG: C++
*/

#include <iostream>
#include <string>

using namespace std;

char word[255];

void INPUT();
void DoIt();
string translate(char a);
int CharMax();

void DoIt()
{
	int i; // lokalna
	for (i = 0; i <= CharMax(); i++)
	{
		if (word[i-1] == ' ' && word[i] == ' ') ;
		else cout << translate(word[i]) << " ";
	}
	cout << "...-.-";
}

int main()
{
	cin.getline(word, 255);
	DoIt();
	cout << "\n";
	return 0;
}

int CharMax()
{
	int i; // lokalna
	for (i = 0; i <= 255; i++)
	{
		if (word[i] == '\0') return i - 1;
	}
	return 255;
}


string translate(char a)
{
	if (a == 'a' || a == 'A') return ".-";
	if (a == 'b' || a == 'B') return "-...";
	if (a == 'c' || a == 'C') return "-.-.";
	if (a == 'd' || a == 'D') return "-..";
	if (a == 'e' || a == 'E') return ".";
	if (a == 'f' || a == 'F') return "..-.";
	if (a == 'g' || a == 'G') return "--.";
	if (a == 'h' || a == 'H') return "....";
	if (a == 'i' || a == 'I') return "..";
	if (a == 'j' || a == 'J') return ".---";
	if (a == 'k' || a == 'K') return "-.-";
	if (a == 'l' || a == 'L') return ".-..";
	if (a == 'm' || a == 'M') return "--";
	if (a == 'n' || a == 'N') return "-.";
	if (a == 'o' || a == 'O') return "---";
	if (a == 'p' || a == 'P') return ".--.";
	if (a == 'q' || a == 'Q') return "--.-";
	if (a == 'r' || a == 'R') return ".-.";
	if (a == 's' || a == 'S') return "...";
	if (a == 't' || a == 'T') return "-";
	if (a == 'u' || a == 'U') return "..-";
	if (a == 'v' || a == 'V') return "...-";
	if (a == 'w' || a == 'W') return ".--";
	if (a == 'x' || a == 'X') return "-..-";
	if (a == 'y' || a == 'Y') return "-.--";
	if (a == 'z' || a == 'Z') return "--..";
	if (a == '1') return ".----";
	if (a == '2') return "..---";
	if (a == '3') return "...--";
	if (a == '4') return "....-";
	if (a == '5') return ".....";
	if (a == '6') return "-....";
	if (a == '7') return "--...";
	if (a == '8') return "---..";
	if (a == '9') return "----.";
	if (a == '0') return "-----";
	if (a == '.') return ".-.-.-";
	if (a == ',') return "--..--";
	if (a == '-') return "-..-.";
	if (a == '?') return "..--..";
	if (a == ' ') return ".-.-.";
	return "-..-.";
}

//  S   O   S    ""    -     ""               
// CORRECT // ... --- ... .-.-. -..-. .-.-.             -.-. --- --- .-. -.. .. -. .- - . ... .-.-. ..--- ----- -..-. ----- -.... .-.-.- ...-.-
// MY      // ... --- ... .-.-. -..-. .-.-.             -.-. --- --- .-. -.. .. -. .- - . ... .-.-. ..--- ----- -..-. ----- -.... .-.-.- ...-.-
// ... --- ... .-.-. -..-. .-.-. .-.-. .-.-. -.-. --- --- .-. -.. .. -. .- - . ... .-.-. ..--- ----- -..-. ----- -.... .-.-.- ...-.-
// ... --- ... .-.-. -..-. .-.-. .-.-. .-.-. -.-. --- --- .-. -.. .. -. .- - . ... .-.-. ..--- ----- -..-. ----- -.... .-.-.- ...-.-