#include <iostream>
#include <fstream>
#include <map>
using namespace std;
//ifstream fin("date.in");
//ofstream fout("date.out");
#define MAX 260
//#define cout fout
map<string, int> M;
bool ok = 0;
char a[13][5 * MAX];///11, 3 * 5 + 5 * 250 + 5
string s;
void af()
{
    for(int i = 1 ; i <= 10 ; i++)
        cout << a[i] + 1 << "\n";
    if(ok)
        cout << a[11] + 1 << "\n";
}

int main()
{
    int n, i;
    cin >> n;
    for(i = 1; i <= 5 * (n + 3) ; i++)
    {
        a[1][i] = '-';
        a[2][i] = ' ';
        a[3][i] = '-';
        a[4][i] = ' ';
        a[5][i] = '-';
        a[6][i] = ' ';
        a[7][i] = '-';
        a[8][i] = ' ';
        a[9][i] = '-';
        a[10][i] = ' ';
        a[11][i] = ' ';

    }
    for(i = 1 ; i <= 10 ; i++)
    {
        a[i][5] = '|';
        a[i][5 * (n + 3)] = '|';
    }
    a[10][5 * (n + 3)] = ' ';
    a[1][5 * (n + 3)] = a[9][5 * (n + 3)] = '+';
    a[7][7] = a[8][3] = a[9][6] =  a[1][7] = '\\';
    a[8][7] = a[6][3] =  a[5][4] = a[4][6] =  a[3][7] = '/';
    a[8][4] = a[8][6] = a[10][6] = '_';
    a[7][2] = '{';
    a[2][8] = a[10][7] = '}';
    a[4][10] = a[6][10] = '4';
    M["C"] = M["C#"] = 11;
    M["D"] = M["D#"] = 10;
    M["E"] = 9;
    M["F"] = M["F#"] = 8;
    M["G"] = M["G#"] = 7;
    M["A"] = M["A#"] = 6;
    M["B"] = 5;
    M["C2"] = M["C2#"] = 4;
    for(i = 1 ; i <= n ; i++)
    {
        s = "    ";
        cin >> s;
        if(s == "C" || s == "C#")
            ok = 1;
        int lin = M[s];
        int col = 5 * (i - 1 + 3);
        a[lin][col] = '@';
        a[lin][col - 1] = '(';
        a[lin][col + 1] = ')';
        if(s[1] == '#' || s[2] == '#')
            a[lin][col - 2] = '#';
        if(lin <= 5)
        {
            a[lin + 1][col - 1] = a[lin + 2][col - 1] = a[lin + 3][col - 1] = '|';
        }
        else
        {
            a[lin - 1][col + 1] = a[lin - 2][col + 1] = a[lin - 3][col + 1] = '|';
        }
    }
    af();
}