#include #include #include #include #include #include #include #include #include #include #include #include #include #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; }