#include <fstream>
#include <cstring>

#include <algorithm>
using namespace std;

ifstream is ("f.in");
ofstream os ("f.out");

char C[13][4000];
int P = 14, N, L;
char x[4];
void Solve();

int main()
{
    for (int i = 0; i <= 11; i++)
        for (int j = 0; j < 4000; ++j)
            C[i][j] = ' ';
    for (int i = 1; i <= 9; i+=2)
        for (int j = 1; j < 4000; ++j)
            C[i][j] = '-';

    for (int i = 1; i <= 10; i++)
        C[i][5] = '|';
    C[3][7] = C[4][6] = C[5][4] = C[6][3] = C[8][7] = '/';
    C[7][2] = '{';
    C[7][7] = C[8][3] = C[9][6] = C[1][7] = 92;
    C[8][4] = C[8][6] = C[10][6] = '_';
    C[10][7] = C[2][8] = '}';
    C[4][10] = C[6][10] = '4';


    is >> N;

    for (int i = 1; i <= N; ++i)
    {
        is >> x;
        Solve();

    }
    ++P;
    for (int i = 1; i <= 8; i++)
        C[i][P] = '|';
    C[1][P] = '+';
    C[9][P] = '+';
    for (int i = 1; i <= 11; i++, os << '\n')
        for (int j = 1; j <= P; ++j)
            os << C[i][j];
}

void Solve()
{
    if (x[0] == 'C' && x[1] != '2')
        L = 11;
    if (x[0] == 'D')
        L = 10;
    if (x[0] == 'E')
        L = 9;
    if (x[0] == 'F')
        L = 8;
    if (x[0] == 'G')
        L = 7;
    if (x[0] == 'A')
        L = 6;

    if (x[0] == 'B')
        L = 5;
    if (x[0] == 'C' && x[1] == '2')
        L = 4;

    if (L > 5)
    {

        C[L][P] = '(';
        C[L][P+1] = '@';
        C[L][P+2] = ')';
        C[L-1][P+2] = '|';
        C[L-2][P+2] = '|';
        C[L-3][P+2] = '|';
        if (x[1] == '#' || x[2] == '#')
            C[L][P-1] = '#';
    }
    else
    {
        C[L][P] = '(';
        C[L][P+1] = '@';
        C[L][P+2] = ')';
        C[L+1][P] = '|';
        C[L+2][P] = '|';
        C[L+3][P] = '|';
        if (x[1] == '#' || x[2] == '#')
            C[L][P-1] = '#';
    }
    P += 5;
    memset(x, 0, sizeof(x));
};