func_code_string: #include <bits/stdc++.h>   #pragma warning(disable : 4996)   using namespace std;   int main() {     ios_base::sync_with_stdio(0);     cin.tie(0);     cout.tie(0);     int n;     string a;     cin >> n >> a;     stack<char> q;     int m = 1;     int len = 0;     int he = -1;     for (int i = 0; i < n; i++) {       if (q.empty() || q.top() == a[i]) {         q.push(a[i]);         len++;         m += 2;       } else {         if (a[i] != a[i - 1]) len += 3;         if (a[i] ==  [  && a[i - 1] ==  ] ) len += 4;         q.pop();         len++;         m -= 2;       }       he = max(he, m);     }     vector<vector<char>> res(len, vector<char>(he,    ));     m = 0;     int cur = 0;     for (int i = 0; i < n; i++) {       if (i != 0 && a[i] == a[i - 1] && a[i] ==  [ )         m++;       else if (i != 0 && a[i] == a[i - 1] && a[i] ==  ] )         m--;       if (a[i] ==  [ ) {         res[cur][m] =  + ;         res[cur][he - m - 1] =  + ;         res[cur + 1][m] =  - ;         res[cur + 1][he - m - 1] =  - ;         for (int j = m + 1; j < he - m - 1; j++) res[cur][j] =  | ;       } else {         if (a[i] ==  ]  && a[i - 1] ==  [ ) cur += 3;         res[cur - 1][m] =  - ;         res[cur - 1][he - m - 1] =  - ;         res[cur][m] =  + ;         res[cur][he - m - 1] =  + ;         for (int j = m + 1; j < he - m - 1; j++) res[cur][j] =  | ;       }       cur++;     }     for (int i = 0; i < he; i++) {       for (int j = 0; j < len; j++) cout << res[j][i];       cout <<   n ;     }     return 0;   }   