#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