#include <bits/stdc++.h>
using namespace std;
template <class T>
inline void cmin(T &a, T b) {
  ((a > b) && (a = b));
}
template <class T>
inline void cmax(T &a, T b) {
  ((a < b) && (a = b));
}
char IO;
template <class T = int>
T rd() {
  T s = 0;
  int f = 0;
  while (!isdigit(IO = getchar())) f |= IO == '-';
  do s = (s << 1) + (s << 3) + (IO ^ '0');
  while (isdigit(IO = getchar()));
  return f ? -s : s;
}
const int N = 1010, INF = 1e9 + 10;
int n;
int A[N], vis[N];
char s[N][N];
int main() {
  n = rd();
  for (int i = 1, iend = n; i <= iend; ++i) A[i] = rd();
  int ans = 0;
  int p = 1;
  for (int i = 1, iend = n; i <= iend; ++i)
    for (int j = 1, jend = n; j <= jend; ++j) s[i][j] = '.';
  int f = 1;
  for (int i = 1, iend = n; i <= iend; ++i)
    if (A[i] != i) f = 0;
  if (f) {
    printf("%d\n", n);
    for (int i = 1, iend = n; i <= iend; ++i) puts(s[i] + 1);
    return 0;
  }
  for (int i = 1, iend = n - 1; i <= iend; ++i)
    if (A[i] != i && !vis[i]) {
      int j = i, c1 = 1, c2 = 0;
      while (A[j] != i) j = A[j], c1++;
      j = i;
      while (j != n && A[j] != i) j = A[j], c2++;
      if (c2 == c1 - 1 && j == n) {
        j = i;
        while (j != n && A[j] != i) {
          vis[A[j]] = 1;
          if (A[j] > j)
            s[p][j] = s[p][A[j]] = '/';
          else
            s[p][j] = s[p][A[j]] = '\\';
          p++, j = A[j];
          ans++;
        }
        vis[i] = 1;
      }
    }
  for (int i = 1, iend = n - 1; i <= iend; ++i)
    if (A[i] != i && !vis[i]) {
      int j = i, c1 = 1, c2 = 0, lst = 0;
      while (A[j] != i) j = A[j], c1++;
      j = i;
      while (j != n && A[j] != i) lst = A[j] > j, j = A[j], c2++;
      if (c2 == c1 - 1 && (j == n || lst)) {
        int t = p++;
        j = i;
        while (j != n && A[j] != i) {
          vis[A[j]] = 1;
          if (A[j] > j)
            s[p][j] = s[p][A[j]] = '/';
          else
            s[p][j] = s[p][A[j]] = '\\';
          p++, j = A[j];
          ans++;
        }
        vis[i] = 1;
        if (j != n) {
          s[p - 1][n] = '/', s[t][n] = '\\', s[t][A[j]] = '\\';
          ans++;
        }
      }
    }
  for (int i = 1, iend = n - 1; i <= iend; ++i)
    if (A[i] == i) ans++;
  printf("%d\n", ans);
  for (int i = 1, iend = n; i <= iend; ++i) puts(s[i] + 1);
}
