#include <bits/stdc++.h>
using namespace std;
int n, x[1005], z[1005], mi[1005], ma[1005], c, at, l, r, mii;
char y[1005][1005];
bool g;
int ta;
void gol(int a) {
  for (int i = 0; i < n; i++)
    if (z[i] == a && x[i] < mii) {
      ta = x[i];
      y[at][ta] = y[at][mii] = '\\';
      at++;
      while (ta != i) {
        y[at][ta] = y[at][x[ta]] = ta < x[ta] ? '/' : '\\';
        ta = x[ta];
        at++;
      }
      y[at][i] = y[at][mii] = i < mii ? '/' : '\\';
      break;
    }
  mi[a] = -1;
}
void gor(int a) {
  for (int i = 0; i < n; i++)
    if (z[i] == a && x[i] > mii) {
      ta = x[i];
      y[at][ta] = y[at][mii] = '/';
      at++;
      while (ta != i) {
        y[at][ta] = y[at][x[ta]] = ta < x[ta] ? '/' : '\\';
        ta = x[ta];
        at++;
      }
      y[at][i] = y[at][mii] = i < mii ? '/' : '\\';
      break;
    }
  mi[a] = -1;
}
int main() {
  scanf("%d", &n);
  for (int i = 0; i < n; i++) {
    scanf("%d", x + i);
    x[i]--;
    if (x[i] != i) g = 1;
    memset(y[i], '.', n);
  }
  printf("%d\n", n - g);
  if (g) {
    for (int i = 0; i < n; i++)
      if (!z[i]) {
        c++;
        ta = i;
        mi[c] = ma[c] = ta;
        while (!z[ta]) {
          mi[c] = min(mi[c], ta);
          ma[c] = max(ma[c], ta);
          z[ta] = c;
          ta = x[ta];
        }
      }
    for (int i = 0; i < n; i++) {
      l = r = 0;
      for (int j = 1; j <= c; j++)
        if (j != z[i])
          if (ma[j] < i)
            l++;
          else if (mi[j] > i)
            r++;
      if (abs(l - r) <= 1) {
        mii = i;
        ta = x[mii];
        while (ta != mii)
          if (ta != x[ta]) {
            y[at][ta] = y[at][x[ta]] = ta < x[ta] ? '/' : '\\';
            ta = x[ta];
            at++;
          }
        mi[z[mii]] = -1;
        if (l > r) {
          for (int j = 1; j <= c; j++)
            if (mi[j] != -1 && ma[j] < mii) {
              gol(j);
              break;
            }
          l--;
        }
        while (r) {
          for (int j = 1; j <= c; j++)
            if (mi[j] != -1 && mi[j] > mii) {
              gor(j);
              break;
            }
          r--;
          if (l) {
            for (int j = 1; j <= c; j++)
              if (mi[j] != -1 && ma[j] < mii) {
                gol(j);
                break;
              }
            l--;
          }
        }
        for (int j = 1; j <= c; j++)
          if (mi[j] != -1)
            if (y[at][i] == '/')
              gor(j);
            else
              gol(j);
        break;
      }
    }
  }
  for (int i = 0; i < n; i++) printf("%s\n", y[i]);
  return 0;
}
