#include <iostream>
#include <algorithm>
#include <map>
class LeetSpeakTranslator {
public:
LeetSpeakTranslator() {
speakToLeetMap_[ "A" ] = "4";
speakToLeetMap_[ "B" ] = "6";
speakToLeetMap_[ "E" ] = "3";
speakToLeetMap_[ "I" ] = "1";
speakToLeetMap_[ "L" ] = "1";
speakToLeetMap_[ "M" ] = "(V)";
speakToLeetMap_[ "N" ] = "(\\)";
speakToLeetMap_[ "O" ] = "0";
speakToLeetMap_[ "S" ] = "5";
speakToLeetMap_[ "T" ] = "7";
speakToLeetMap_[ "V" ] = "\\/";
speakToLeetMap_[ "W" ] = "`//";
}
std::string translate( std::string inputString ) {
bool translated = false;
std::string retString = inputString;
std::transform(retString.begin(), retString.end(),retString.begin(), ::toupper);
for ( std::map< std::string, std::string >::iterator stlmIterator = speakToLeetMap_.begin();
stlmIterator != speakToLeetMap_.end();
stlmIterator++ )
{
if ( retString.find( stlmIterator->first ) != std::string::npos )
{
std::size_t pos = retString.find( stlmIterator->first );
while ( retString.find( stlmIterator->first, pos ) != std::string::npos )
{
retString.replace( retString.find( stlmIterator->first ), stlmIterator->first.length(), stlmIterator->second );
pos += 1;
}
translated = true;
}
}
if ( !translated)
{
for ( std::map< std::string, std::string >::iterator stlmIterator = speakToLeetMap_.begin();
stlmIterator != speakToLeetMap_.end();
stlmIterator++ )
{
if ( retString.find( stlmIterator->second ) != std::string::npos )
{
std::size_t pos = retString.find( stlmIterator->second );
while ( retString.find( stlmIterator->second, pos ) != std::string::npos )
{
retString.replace( retString.find( stlmIterator->second ), stlmIterator->second.length(), stlmIterator->first );
pos += 1;
}
translated = true;
}
}
if ( translated )
{
retString[0] = std::toupper( retString[0] );
for( std::size_t i = 1 ; i < retString.length() ; ++i )
retString[i] = std::tolower( retString[i] );
}
}
return retString;
}
private:
std::map< std::string , std::string > speakToLeetMap_;
};
int main()
{
LeetSpeakTranslator instance;
std::string inputString;
//for testcases
int inputNumber = 0;
while ( inputNumber < 5 ) {
getline( std::cin, inputString );
std::cout << instance.translate( inputString ) << std::endl;
inputNumber++;
}
return 0;
}