#include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <string>
#include <cmath>
#include <map>
#include <fstream>
#include <sstream>
#include <set>
#include <iomanip>
#include <deque>
#include <cstring>

#define pb push_back
#define ll long long
#define FOR(I,A,B) for(int I=(A); I <= (B); I++)

using namespace std;

/*
----|-\-----------------------------------------------------------------------------+
    |  }                                                                            |
----|-/-----------------------------------------------------|----|------------------|
    |/   4                                        |    |    |    |       (@) #(@)   |
---/|-----------------------------------|----|----|----|----|----|--(@)--|----|-----|
  / |    4                         |    |    |    |    |  (@) #(@)  |    |    |     |
-{--|-\------------------|----|----|----|----|--(@)-#(@)------------|----|----|-----|
  \_|_/        |    |    |    |    |  (@) #(@)                      |               |
----|\---------|----|----|----|--(@)------------------------------------------------+
    |_}        |    |  (@) #(@)                                                      
             (@) #(@)                                                                
*/

//C, C#, D, D#, E, F, F#, G, G#, A, A#, B, C2, C2#.

char C2S[100][20] = {
"-----",
"     ",
"-----",
" #(@)",
"--|--",
"  |  ",
"--|--",
"     ",
"-----",
"     ", 
"     ",
};

char C2[100][20] = {
"-----",
"     ",
"-----",
"  (@)",
"--|--",
"  |  ",
"--|--",
"     ",
"-----",
"     ", 
"     ",
};

char B[100][20] = {
"-----",
"     ",
"-----",
"     ",
"--(@)",
"  |  ",
"--|--",
"  |  ",
"-----",
"     ", 
"     ",
};

char AS[100][20] = {
"-----",
"     ",
"----|",
"    |",
"----|",
" #(@)",
"-----",
"     ",
"-----",
"     ", 
"     ",
};

char A[100][20] = {
"-----",
"     ",
"----|",
"    |",
"----|",
"  (@)",
"-----",
"     ",
"-----",
"     ", 
"     ",
};

char GS[100][20] = {
"-----",
"     ",
"-----",
"    |",
"----|",
"    |",
"-#(@)",
"     ",
"-----",
"     ", 
"     ",
};

char G[100][20] = {
"-----",
"     ",
"-----",
"    |",
"----|",
"    |",
"--(@)",
"     ",
"-----",
"     ", 
"     ",
};

char FS[100][20] = {
"-----",
"     ",
"-----",
"     ",
"----|",
"    |",
"----|",
" #(@)",
"-----",
"     ", 
"     ",
};

char F[100][20] = {
"-----",
"     ",
"-----",
"     ",
"----|",
"    |",
"----|",
"  (@)",
"-----",
"     ", 
"     ",
};

char E[100][20] = {
"-----",
"     ",
"-----",
"     ",
"-----",
"    |",
"----|",
"    |",
"--(@)",
"    ", 
"     ",
};

char DS[100][20] = {
"-----",
"     ",
"-----",
"     ",
"-----",
"     ",
"----|",
"    |",
"----|",
" #(@)", 
"     ",
};

char D[100][20] = {
"-----",
"     ",
"-----",
"     ",
"-----",
"     ",
"----|",
"    |",
"----|",
"  (@)", 
"     ",
};

char C[100][20] = {
"-----",
"     ",
"-----",
"     ",
"-----",
"     ",
"-----",
"    |",
"----|",
"    |", 
"  (@)",
};

char CS[100][20] = {
"-----",
"     ",
"-----",
"     ",
"-----",
"     ",
"-----",
"    |",
"----|",
"    |", 
" #(@)",
};

char init[100][10000] = {
"----|-\\-----",
"    |  }    ",
"----|-/-----",
"    |/   4  ",
"---/|-------",
"  / |    4  ",
"-{--|-\\-----",
"  \\_|_/     ",
"----|\\------",
"    |_}     ",                                                    
"            "                                                                
};

char fin[100][20] = {
"---+",
"   |",
"---|",
"   |",
"---|",
"   |",
"---|",
"   |",
"---+",
"    ", 
"    ",
};
 
//C, C#, D, D#, E, F, F#, G, G#, A, A#, B, C2, C2#

int last = 11;

void add(char l[100][20]) {
	for(int i = 0; i < 11; i++) {
		for(int j = last; j < last+5; j++) {
			init[i][j] = l[i][j-last];
		}
	}

	last += 5;
}

void add_fin() {
	for(int i = 0; i < 11; i++) {
		for(int j = last; j < last+4; j++) {
			init[i][j] = fin[i][j-last];
		}
	}

	last += 4;
}

int main() {
	int n;
	string note;

	cin >> n;

	for(int i = 0; i < n; i++) {
		cin >> note;
		if(note.compare("C") == 0) add(C);
		if(note.compare("C#") == 0) add(CS); 
		if(note.compare("D") == 0) add(D);
		if(note.compare("D#") == 0) add(DS);
		if(note.compare("E") == 0) add(E);
		if(note.compare("E") == 0) add(F);
		if(note.compare("F#") == 0) add(FS);
		if(note.compare("G") == 0) add(G);
		if(note.compare("G#") == 0) add(GS);
		if(note.compare("A") == 0) add(A);
		if(note.compare("A#") == 0) add(AS);
		if(note.compare("B") == 0) add(B);
		if(note.compare("C2") == 0) add(C2);
		if(note.compare("C2#") == 0) add(C2S);
	}

	add_fin();

	for(int i = 0; i < 11; i++) {
		for(int j = 0; j < last; j++) {
			cout << init[i][j];
		}
		cout << "\n";
	}

	return 0;
}