- #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; 
- } 
-   
-   
-   
				I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8bWFwPgojaW5jbHVkZSA8Y2N0eXBlPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKbWFwIDxjaGFyLCBzdHJpbmc+IG1vcnplID0gewogICAgCXsgJ2EnLCAiLi0ifSwKICAgIAl7ICdiJywgIi0uLi4ifSwKICAgIAl7ICd3JywgIi4tLSJ9LAogICAgCXsgJ2cnLCAiLS0uIn0sCiAgICAJeyAnZCcsICItLi4ifSwKICAgIAl7ICdlJywgIi4ifSwKICAgIAl7ICd2JywgIi4uLi0ifSwKICAgIAl7ICd6JywgIi0tLi4ifSwKICAgIAl7ICdpJywgIi4uIn0sCiAgICAJeyAnaicsICIuLS0tIn0sCiAgICAJeyAnaycsICItLi0ifSwKICAgIAl7ICdsJywgIi4tLi4ifSwKICAgIAl7ICdtJywgIi0tIn0sCiAgICAJeyAnbicsICItLiJ9LAogICAgCXsgJ28nLCAiLS0tIn0sCiAgICAJeyAncCcsICIuLS0uIn0sCiAgICAJeyAncicsICIuLS4ifSwKICAgIAl7ICdzJywgIi4uLiJ9LAogICAgCXsgJ3QnLCAiLSJ9LAogICAgCXsgJ3UnLCAiLi4tIn0sCiAgICAJeyAnZicsICIuLi0uIn0sCiAgICAJeyAnaCcsICIuLi4uIn0sCiAgICAJeyAnYycsICItLi0uIn0sCiAgICAJeyAncScsICItLS4tIn0sCiAgICAJeyAneScsICItLi0tIn0sCiAgICAJeyAneCcsICItLi4tIn0sCiAgICAJeyAnMScsICIuLS0tLSJ9LAogICAgCXsgJzInLCAiLi4tLS0ifSwKICAgIAl7ICczJywgIi4uLi0tIn0sCiAgICAJeyAnNCcsICIuLi4uLSJ9LAogICAgCXsgJzUnLCAiLi4uLi4ifSwKICAgIAl7ICc2JywgIi0uLi4uIn0sCiAgICAJeyAnNycsICItLS4uLiJ9LAogICAgCXsgJzgnLCAiLS0tLi4ifSwKICAgIAl7ICc5JywgIi0tLS0uIn0sCiAgICAJeyAnMCcsICItLS0tLSJ9LAogICAgCXsgJy4nLCAiLi4uLi4uIn0sCiAgICAJeyAnLCcsICIuLS4tLi0ifSwKICAgIAl7ICc6JywgIi0tLS4uLiJ9LAogICAgCXsgJzsnLCAiLS4tLi0uIn0sCiAgICAJeyAnKCcsICItLi0tLi0ifSwKICAgIAl7ICcpJywgIi0uLS0uLSJ9LAogICAgCXsgJyInLCAiLi0uLi0uIn0sCiAgICAJeyAnLScsICItLi4uLi0ifSwKICAgIAl7ICcvJywgIi0uLi0uIn0sCiAgICAJeyAnPycsICIuLi0tLi4ifSwKICAgIAl7ICchJywgIi0tLi4tLSJ9LAogICAgCXsgJyAnLCAiLS4uLi0ifSwKICAgIAl7ICdAJywgIi4tLS4tLiJ9LAp9OwoKaW50IG1haW4oKSB7CglzdHJpbmcgdGV4dDsKCQoJd2hpbGUoY2luID4+IHRleHQpIHsKCSAgICBmb3IoaW50IGkgPSAwOyBpIDwgdGV4dC5sZW5ndGgoKTsgaSsrKSB7CgkgICAgCXRleHRbaV0gPSB0b2xvd2VyKHRleHRbaV0pOwoJICAgIAljb3V0IDw8IG1vcnplLmZpbmQoIHRleHRbaV0gKS0+c2Vjb25kIDw8IiAgIjsKCSAgICB9CgkgICAgY291dCA8PCBtb3J6ZS5maW5kKCcgJyktPnNlY29uZCA8PCAiICAiOwoJfQoJCglyZXR1cm4gMDsKfQoKCg==