func_code_string: #include <bits/stdc++.h>   using namespace std;   const long long MAXN = 1123456;   template <typename T>   T sqr(T x) {     return x * x;   }   template <typename T>   void vout(T s) {     cout << s <<   n ;     exit(0);   }   long long bp(long long a, long long n) {     long long res = 1;     while (n) {       if (n % 2) res *= a;       a *= a;       n >>= 1;     }     return res;   }   char akel_sosat[1001][1001];   int main() {     ios_base ::sync_with_stdio(0);     cin.tie(0);     long long n;     cin >> n;     string a;     cin >> a;     long long kol = 0, mx = 0;     for (int i = 0; i < n; i++) {       if (a[i] ==  [ )         kol++;       else         kol--;       mx = max(mx, kol);     }     long long m = mx * 2 + 3;     long long l = 1, len = mx;     for (int i = 1; i <= 1000; i++)       for (int j = 0; j < 1001; j++) akel_sosat[i][j] =    ;     long long st = 0;     for (int i = 0; i < n; i++, st++) {       if (a[i] ==  [ ) {         akel_sosat[l][st] =  + ;         akel_sosat[l][st + 1] =  - ;         long long l1 = len * 2 - 1;         for (int j = l + 1; j <= l + l1; j++) akel_sosat[j][st] =  | ;         akel_sosat[l + l1 + 1][st] =  + ;         akel_sosat[l + l1 + 1][st + 1] =  - ;         len--;         l++;       } else {         if (a[i] != a[i - 1]) st += 3;         l--;         len++;         akel_sosat[l][st] =  + ;         akel_sosat[l][st - 1] =  - ;         long long l1 = len * 2 - 1;         for (int j = l + 1; j <= l + l1; j++) akel_sosat[j][st] =  | ;         akel_sosat[l + l1 + 1][st] =  + ;         akel_sosat[l + l1 + 1][st - 1] =  - ;       }     }     for (int i = 1; i <= m; i++) {       for (int j = 0; j < st; j++) cout << akel_sosat[i][j];       cout <<   n ;     }     cerr <<  Time execute:   << clock() / (double)CLOCKS_PER_SEC <<   sec           <<   n ;     return 0;   }   