#include <bits/stdc++.h>
using namespace std;
typedef struct {
  int x;
  int y;
} Point;
int main() {
  string input;
  getline(cin, input);
  int pointsCount = atol(input.c_str());
  int *points = new int[pointsCount];
  getline(cin, input);
  stringstream pointsStream(input);
  for (int i = 0; i < pointsCount; i++) {
    string temp;
    if (pointsStream.good()) {
      pointsStream >> temp;
      points[i] = atoi(temp.c_str());
    }
  }
  Point current;
  current.x = current.y = 0;
  Point yMax;
  yMax.x = yMax.y = 0;
  Point yMin;
  yMin.x = yMin.y = 0;
  Point xMax;
  xMax.x = xMax.y = 0;
  for (int i = 0; i < pointsCount; i++) {
    current.x += points[i];
    if (i % 2 == 0) {
      current.y += points[i];
    } else {
      current.y -= points[i];
    }
    if (current.y > yMax.y) {
      yMax = current;
    }
    if (current.y < yMin.y) {
      yMin = current;
    }
    if (current.x > xMax.x) {
      xMax = current;
    }
  }
  int width = xMax.x;
  int height = yMax.y - yMin.y;
  char **cardio = new char *[width];
  for (int i = 0; i < width; i++) {
    cardio[i] = new char[height];
  }
  for (int x = 0; x < width; x++) {
    for (int y = 0; y < height; y++) {
      cardio[x][y] = ' ';
    }
  }
  current.x = 0;
  current.y = height + yMin.y - 1;
  for (int i = 0; i < pointsCount; i++) {
    for (int j = 0; j < points[i]; j++) {
      if (i % 2 == 0) {
        cardio[current.x][current.y] = '/';
        if (j != points[i] - 1) {
          current.y--;
        }
      } else {
        cardio[current.x][current.y] = '\\';
        if (j != points[i] - 1) {
          current.y++;
        }
      }
      current.x++;
    }
  }
  for (int j = 0; j < height; j++) {
    for (int i = 0; i < width; i++) {
      printf("%c", cardio[i][j]);
    }
    printf("\n");
  }
  for (int i = 0; i < width; i++) {
    delete[] cardio[i];
  }
  delete[] cardio;
  delete[] points;
  return 0;
}
