#include <bits/stdc++.h>
using namespace std;
int n;
char arr[101];
char brr[101][1001];
int main() {
  for (int i = 0; i < 101; i++)
    for (int j = 0; j < 1001; j++) brr[i][j] = ' ';
  cin >> n;
  cin >> arr;
  int _max = 0;
  int _cur = 0;
  for (int i = 0; i < n; i++) {
    if (arr[i] == ']')
      _cur--;
    else if (arr[i] == '[')
      _cur++;
    if (_max < _cur) _max = _cur;
  }
  _cur = 0;
  int k = 0;
  int flag = -1;
  for (int i = 0; i < n; i++) {
    if (arr[i] == '[') {
      if (flag == 1 || flag == 2) {
        k++;
      }
      int j = _cur;
      brr[j][k] = '+';
      brr[j][k + 1] = '-';
      j++;
      for (int u = 0; u < _max - _cur - 1; u++, j++) brr[j][k] = '|';
      brr[j][k] = '|';
      j++;
      for (int u = 0; u < _max - _cur - 1; u++, j++) brr[j][k] = '|';
      brr[j][k] = '+';
      brr[j][k + 1] = '-';
      _cur++;
      flag = 1;
    } else if (arr[i] == ']') {
      if (flag == 1) {
        k += 4;
      } else if (flag == 2) {
        k++;
      }
      _cur--;
      int j = _cur;
      brr[j][k] = '+';
      brr[j][k - 1] = '-';
      j++;
      for (int u = 0; u < _max - _cur - 1; u++, j++) brr[j][k] = '|';
      brr[j][k] = '|';
      j++;
      for (int u = 0; u < _max - _cur - 1; u++, j++) brr[j][k] = '|';
      brr[j][k] = '+';
      brr[j][k - 1] = '-';
      flag = 2;
    }
  }
  for (int i = 0; i < _max * 2 + 1; i++) {
    for (int j = 0; j <= k; j++) cout << brr[i][j];
    cout << endl;
  }
  return 0;
}
