#include <cctype>
#include <cstdio>
#include <cstring>
#include <vector>
#include <string>
#include <algorithm>

using namespace std;

int N, x;

char buff[ 100 ];
vector< string > vs;
string s;

int main( void )
{
    //printf( "%d\n", 63^32 );
    //for( char c = 'a'; c <= 'z'; ++c )
         //printf( "%x\n", c );
    
    for( char i = '0'; i <= '9'; ++i ) {
         sprintf( buff, "%x", i^'.' ); vs.push_back( string( buff ) );
         sprintf( buff, "%x", i^' ' ); vs.push_back( string( buff ) );
    }
    
    for( int i = 0; i < vs.size(); ++i )
         for( int j = 0; j < vs[i].size(); ++j )
              vs[i][j] = toupper( vs[i][j] );
    
    scanf( "%d\n", &N );
    
    for( int i = 0; i < N; ++i ) {
         scanf( "%s", buff ); s = string( buff );
         for( int j = 0; j < s.size(); ++j )
              s[j] = toupper( s[j] );
         if( find( vs.begin(), vs.end(), s ) != vs.end() ) putchar( '.' );
         else putchar( '-' );
    }
    putchar( '\n' );
    
    /*
    scanf( "%d", &N );
    
    for( int i = 0; i < N; ++i ) {
         scanf( "%d", &x );
         if( x >= 16 && x <= 31 ) putchar( '.' );
         else putchar( '-' );
    }
    
    //printf( "%d\n", ' ' ^ )
    
    putchar( '\n' );
    */
    /* 
    for( char j = 'a'; j <= 'z'; ++j ) {
    for( char i = '0'; i <= '9'; ++i ) {
         printf( "%d ", i^j );
    }
    putchar( '\n' );
    }
    */
    
    scanf( "\n" );
    
    return 0;
}
