{
TASK:morse
LANG:PASCAL
}
var
 a:string;
 b:array[1..100]of string;
 c:array[1..100]of char;
 i,f,g:byte;
begin
 c[1]:='A';
 b[1]:='.- ';
 c[2]:='B';
 b[2]:='-... ';
 c[3]:='C';
 b[3]:='-.-. ';
 c[4]:='D'    ;
 b[4]:='-.. '  ;
 c[5]:='E'      ;
 b[5]:='. '      ;
 c[6]:='F';
 b[6]:='..-. ';
 c[7]:='G';
 b[7]:='--. ';
 c[8]:='H';
 b[8]:='.... ';
 c[9]:='I';
 b[9]:='.. ';
 c[10]:='J';
 b[10]:='.--- ';
 c[11]:='K';
 b[11]:='-.- ';
 c[12]:='L';
 b[12]:='.-.. ';
 c[13]:='M';
 b[13]:='-- ';
 c[14]:='N';
 b[14]:='-. ';
 c[15]:='O';
 b[15]:='--- ';
 c[16]:='P';
 b[16]:='.--. ';
 c[17]:='Q';
 b[17]:='--.- ';
 c[18]:='R';
 b[18]:='.-. ';
 c[19]:='S';
 b[19]:='... ';
 c[20]:='T';
 b[20]:='- ';
 c[21]:='U';
 b[21]:='..- ';
 c[22]:='V';
 b[22]:='...- ';
 c[23]:='W';
 b[23]:='.-- ';
 c[24]:='X';
 b[24]:='-..- ';
 c[25]:='Y';
 b[25]:='-.-- ';
 c[26]:='Z';
 b[26]:='--.. ';
 c[27]:='1';
 b[27]:='.---- ';
 c[28]:='2';
 b[28]:='..--- ';
 c[29]:='3';
 b[29]:='...-- ';
 c[30]:='4';
 b[30]:='....- ';
 c[31]:='5';
 b[31]:='..... ';
 c[32]:='6';
 b[32]:='-.... ';
 c[33]:='7';
 b[33]:='--... ';
 c[34]:='8';
 b[34]:='---.. ';
 c[35]:='9';
 b[35]:='----. ';
 c[36]:='0';
 b[36]:='----- ';
 c[37]:='.';
 b[37]:='.-.-.- ';
 c[38]:=',';
 b[38]:='--..-- ';
 c[39]:='-';
 b[39]:='-..-. ';
 c[40]:='?';
 b[40]:='..--.. ';
 c[41]:=' ';
 b[41]:='.-.-. ';
 readln(a);
 for i:=1 to length(a) do if ord(a[i])>96 then a[i]:=chr(ord(a[i])-32);
 for i:=1 to length(a) do if(copy(a,i,1)=' ')then begin
                                                   for g:=i to length(a) do if a[g]<>' 'then break;
                                                   a:=copy(a,1,i)+copy(a,g,255);
                                                  end;
 for I:=1 to length(a) do for f:=1 to 41 do if a[i]=c[f] then begin write(b[f]); break; end;
 write('...-.-');
 writeln;
end.





































