#include #include #include using namespace std; int main() { string staff [] = { R"(----|-\---)", R"( | } )", R"(----|-/---)", R"( |/ 4)", R"(---/|-----)", R"( / | 4)", R"(-{--|-\---)", R"( \_|_/ )", R"(----|\----)", R"( |_} )", R"( )" }; int n; cin >> n; string dashes(n * 5, '-'); string spaces(n * 5, ' '); for (int i = 0; i < 11; i++) { if (i % 2 == 0 && i < 9) staff[i] += dashes; else staff[i] += spaces; if (i == 0 || i == 8) staff[i] += "----+"; else if (i == 2 || i == 4 || i == 6) staff[i] += "----|"; else if (i < 9) staff[i] += " |"; else staff[i] += " "; } map note_pos = { { "C", 10 }, { "C#", 10 }, { "D", 9 }, { "D#", 9 }, { "E", 8 }, { "F", 7 }, { "F#", 7 }, { "G", 6 }, { "G#", 6 }, { "A", 5 }, { "A#", 5 }, { "B", 4 }, { "C2", 3 }, { "C2#", 3 } }; for (int i = 0; i < n; i++) { string s; cin >> s; auto col = 14 + i * 5; auto pos = note_pos[s]; auto dir = (pos > 4) ? -1 : 1; staff[pos][col] = '@'; staff[pos][col - 1] = '('; staff[pos][col + 1] = ')'; staff[pos + dir][col - dir] = '|'; staff[pos + dir * 2][col - dir] = '|'; staff[pos + dir * 3][col - dir] = '|'; if (s[s.length() - 1] == '#') staff[pos][col - 2] = '#'; } for (const auto &line : staff) cout << line << '\n'; }