#include <iostream>
#include <fstream>
#include <algorithm>
#include <string>
#include <cstring>
#include <cmath>
#include <vector>
#include <set>
#include <utility>
#include <map>
#define ll long long
using namespace std;

string s[251];
string t[15];

int get_row(string &s, int &diez){
    diez = 0;
    if(s == "C") { diez=0; return 11;}
    if(s == "C#") { diez=1; return 11;}

    if(s == "D") {diez=0;return 10;}
    if(s == "D#"){ diez=1;return 10;}

    if(s == "E") {diez=0;return 9;}

    if(s == "F") {diez=0;return 8;}
    if(s == "F#"){ diez=1;return 8;}

    if(s == "G") {diez=0;return 7;}
    if(s == "G#"){ diez=1;return 7;}

    if(s == "A") {diez=0;return 6;}
    if(s == "A#"){ diez=1;return 6;}

    if(s == "B") {diez=0;return 5;}

    if(s == "C2"){ diez=0;return 4;}
    if(s == "C2#"){ diez=1;return 4;}

    return 0;
}


int main(){
    #ifndef ONLINE_JUDGE
    ifstream cin("B.in");
    ofstream cout("B.out");
    #endif
    int i,j,N;

    cin >> N;

    for(i=1;i<=N;++i)
    {
        cin >> s[i];
    }

    int col = N * 5 + 15;

    for(i = 1; i <= 11; ++i)
    {
        t[i].clear();
        for(j=1;j<=1500;++j) t[i] += ' ';

        for(j=0;j<col;++j)
            if((i&1) && i != 11)  t[i][j] = '-';
            else t[i][j] = ' ';
    }
    //        0123456789
   /* t[1] = "----|-\---"; */t[1][4] = '|'; t[1][6] = '\\';
   /* t[2] = "    |  }  "; */t[2][4] = '|'; t[2][7] = '}';
   /* t[3] = "----|-/---"; */t[3][4] = '|'; t[3][6] = '/';
   /* t[4] = "    |/   4"; */t[4][4] = '|'; t[4][5] = '/'; t[4][9] = '4';
   /* t[5] = "---/|-----"; */t[5][4] = '|'; t[5][3] = '/';
   /* t[6] = "  / |    4"; */t[6][4] = '|'; t[6][2] = '/'; t[6][9] = '4';
   /*t[7] = "-{--|-\---"; */t[7][4] = '|'; t[7][1] = '{'; t[7][6] = '\\';
   /*t[8] = "  \_|_/   "; */t[8][4] = '|'; t[8][2] = '\\'; t[8][3] = '_'; t[8][5] = '_'; t[8][6] = '/';
   /* t[9] = "----|\----"; */t[9][4] = '|'; t[9][5] = '\\';
   /* t[10]= "    |_}   "; */t[10][4] = '|'; t[10][5] = '_'; t[10][6] = '}';
   // t[11]= "          ";



    int diez;
    int ccol, tt;
    for(i=1;i<=N;++i)
    {
        int rand = get_row(s[i], diez);
        ccol = 10 + i * 5  - 1;

        t[rand][ccol] = '@';
        t[rand][ccol-1] = '(';
        t[rand][ccol+1] = ')';

        if(diez) t[rand][ccol-2] = '#';

        if(rand > 5)
        {
            for(tt = 1; tt<= 3;++tt)
                t[rand-tt][ccol+1] = '|';
        }
        else
        {
            for(tt = 1; tt<= 3;++tt)
                t[rand+tt][ccol-1] = '|';
        }

    }

   for(i=2;i<=8;++i) t[i][col-1] = '|';
   t[1][col-1] = t[9][col-1] = '+';

 for(i=1;i<=11;++i)
    {
        for(j=0;j<=col;++j)
            cout << t[i][j];
        cout << '\n';
    }

    return 0;
}