#include <iostream>
#include <cstring>
#include <stdio.h>
#include <cctype>
using namespace std;
int main( ) {
char text[ 254 ] = "" ;
char mrz[ 10 ] ;
if ( fgets ( text, sizeof ( text) , stdin ) == NULL ) {
cout << "Произошла ошибка или был прочитан EOF\n " ;
}
else {
for ( int i = 0 ; i < strlen ( text) ; i++ ) {
text[ i] = tolower ( text[ i] ) ;
switch ( text[ i] ) {
case 'a' : sprintf ( mrz,".-" ) ; break ;
case 'b' : sprintf ( mrz,"-..." ) ; break ;
case 'w' : sprintf ( mrz,".--" ) ; break ;
case 'g' : sprintf ( mrz,"--." ) ; break ;
case 'd' : sprintf ( mrz,"-.." ) ; break ;
case 'e' : sprintf ( mrz,"." ) ; break ;
case 'v' : sprintf ( mrz,"...-" ) ; break ;
case 'z' : sprintf ( mrz,"--.." ) ; break ;
case 'i' : sprintf ( mrz,".." ) ; break ;
case 'j' : sprintf ( mrz,".---" ) ; break ;
case 'k' : sprintf ( mrz,"-.-" ) ; break ;
case 'l' : sprintf ( mrz,".-.." ) ; break ;
case 'm' : sprintf ( mrz,"--" ) ; break ;
case 'n' : sprintf ( mrz,"-." ) ; break ;
case 'o' : sprintf ( mrz,"---" ) ; break ;
case 'p' : sprintf ( mrz,".--." ) ; break ;
case 'r' : sprintf ( mrz,".-." ) ; break ;
case 's' : sprintf ( mrz,"..." ) ; break ;
case 't' : sprintf ( mrz,"-" ) ; break ;
case 'u' : sprintf ( mrz,"..-" ) ; break ;
case 'f' : sprintf ( mrz,"..-." ) ; break ;
case 'h' : sprintf ( mrz,"...." ) ; break ;
case 'c' : sprintf ( mrz,"-.-." ) ; break ;
case 'q' : sprintf ( mrz,"--.-" ) ; break ;
case 'y' : sprintf ( mrz,"-.--" ) ; break ;
case 'x' : sprintf ( mrz,"-..-" ) ; break ;
case '1' : sprintf ( mrz,".----" ) ; break ;
case '2' : sprintf ( mrz,"..---" ) ; break ;
case '3' : sprintf ( mrz,"...--" ) ; break ;
case '4' : sprintf ( mrz,"....-" ) ; break ;
case '5' : sprintf ( mrz,"....." ) ; break ;
case '6' : sprintf ( mrz,"-...." ) ; break ;
case '7' : sprintf ( mrz,"--..." ) ; break ;
case '8' : sprintf ( mrz,"---.." ) ; break ;
case '9' : sprintf ( mrz,"----." ) ; break ;
case '0' : sprintf ( mrz,"-----" ) ; break ;
case '.' : sprintf ( mrz,"......" ) ; break ;
case ',' : sprintf ( mrz,".-.-.-" ) ; break ;
case ':' : sprintf ( mrz,"---..." ) ; break ;
case ';' : sprintf ( mrz,"-.-.-." ) ; break ;
case '(' : sprintf ( mrz,"-.--.-" ) ; break ;
case ')' : sprintf ( mrz,"-.--.-" ) ; break ;
case '"' : sprintf ( mrz,".-..-." ) ; break ;
case '-' : sprintf ( mrz,"-....-" ) ; break ;
case '/' : sprintf ( mrz,"-..-." ) ; break ;
case '?' : sprintf ( mrz,"..--.." ) ; break ;
case '!' : sprintf ( mrz,"--..--" ) ; break ;
case ' ' : sprintf ( mrz,"-...-" ) ; break ;
case '@' : sprintf ( mrz,".--.-." ) ; break ;
default : sprintf ( mrz,"" ) ; break ;
}
cout << " " << mrz;
}
cout << endl;
}
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8Y3N0cmluZz4KI2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxjY3R5cGU+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQgbWFpbigpIHsKCWNoYXIgdGV4dFsyNTRdPSIiOwoJY2hhciBtcnpbMTBdIDsKCglpZiAoIGZnZXRzKCB0ZXh0LCBzaXplb2YodGV4dCksIHN0ZGluICkgPT0gTlVMTCApIHsKCQljb3V0IDw8ICLQn9GA0L7QuNC30L7RiNC70LAg0L7RiNC40LHQutCwINC40LvQuCDQsdGL0Lsg0L/RgNC+0YfQuNGC0LDQvSBFT0ZcbiI7CiAgICB9CiAgICBlbHNlIHsKCSAgICBmb3IoaW50IGkgPSAwOyBpIDwgc3RybGVuKHRleHQpOyBpKyspIHsKCSAgICAJdGV4dFtpXT10b2xvd2VyKHRleHRbaV0pOwoJICAgICAgICBzd2l0Y2ggKHRleHRbaV0pewoJCSAgICAgICAgIGNhc2UgJ2EnOiBzcHJpbnRmKG1yeiwiLi0iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnYic6IHNwcmludGYobXJ6LCItLi4uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ3cnOiBzcHJpbnRmKG1yeiwiLi0tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ2cnOiBzcHJpbnRmKG1yeiwiLS0uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ2QnOiBzcHJpbnRmKG1yeiwiLS4uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ2UnOiBzcHJpbnRmKG1yeiwiLiIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICd2Jzogc3ByaW50ZihtcnosIi4uLi0iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAneic6IHNwcmludGYobXJ6LCItLS4uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ2knOiBzcHJpbnRmKG1yeiwiLi4iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnaic6IHNwcmludGYobXJ6LCIuLS0tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ2snOiBzcHJpbnRmKG1yeiwiLS4tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ2wnOiBzcHJpbnRmKG1yeiwiLi0uLiIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICdtJzogc3ByaW50ZihtcnosIi0tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ24nOiBzcHJpbnRmKG1yeiwiLS4iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnbyc6IHNwcmludGYobXJ6LCItLS0iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAncCc6IHNwcmludGYobXJ6LCIuLS0uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ3InOiBzcHJpbnRmKG1yeiwiLi0uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ3MnOiBzcHJpbnRmKG1yeiwiLi4uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ3QnOiBzcHJpbnRmKG1yeiwiLSIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICd1Jzogc3ByaW50ZihtcnosIi4uLSIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICdmJzogc3ByaW50ZihtcnosIi4uLS4iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnaCc6IHNwcmludGYobXJ6LCIuLi4uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ2MnOiBzcHJpbnRmKG1yeiwiLS4tLiIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICdxJzogc3ByaW50ZihtcnosIi0tLi0iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAneSc6IHNwcmludGYobXJ6LCItLi0tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJ3gnOiBzcHJpbnRmKG1yeiwiLS4uLSIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICcxJzogc3ByaW50ZihtcnosIi4tLS0tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJzInOiBzcHJpbnRmKG1yeiwiLi4tLS0iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnMyc6IHNwcmludGYobXJ6LCIuLi4tLSIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICc0Jzogc3ByaW50ZihtcnosIi4uLi4tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJzUnOiBzcHJpbnRmKG1yeiwiLi4uLi4iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnNic6IHNwcmludGYobXJ6LCItLi4uLiIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICc3Jzogc3ByaW50ZihtcnosIi0tLi4uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJzgnOiBzcHJpbnRmKG1yeiwiLS0tLi4iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnOSc6IHNwcmludGYobXJ6LCItLS0tLiIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICcwJzogc3ByaW50ZihtcnosIi0tLS0tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJy4nOiBzcHJpbnRmKG1yeiwiLi4uLi4uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJywnOiBzcHJpbnRmKG1yeiwiLi0uLS4tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJzonOiBzcHJpbnRmKG1yeiwiLS0tLi4uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJzsnOiBzcHJpbnRmKG1yeiwiLS4tLi0uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJygnOiBzcHJpbnRmKG1yeiwiLS4tLS4tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJyknOiBzcHJpbnRmKG1yeiwiLS4tLS4tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJyInOiBzcHJpbnRmKG1yeiwiLi0uLi0uIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJy0nOiBzcHJpbnRmKG1yeiwiLS4uLi4tIik7IGJyZWFrOwoJCSAgICAgICAgIGNhc2UgJy8nOiBzcHJpbnRmKG1yeiwiLS4uLS4iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnPyc6IHNwcmludGYobXJ6LCIuLi0tLi4iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnISc6IHNwcmludGYobXJ6LCItLS4uLS0iKTsgYnJlYWs7CgkJICAgICAgICAgY2FzZSAnICc6IHNwcmludGYobXJ6LCItLi4uLSIpOyBicmVhazsKCQkgICAgICAgICBjYXNlICdAJzogc3ByaW50ZihtcnosIi4tLS4tLiIpOyBicmVhazsKCQkgICAgICAgICBkZWZhdWx0OiBzcHJpbnRmKG1yeiwiIik7IGJyZWFrOwoJICAgICAgICB9CiAgICAgICAgY291dCA8PCAiICAgIjw8IG1yejsKICAgIAl9CiAgICBjb3V0IDw8IGVuZGw7CiAgICB9CiAgICAKIHJldHVybiAwOwp9