#include <bits/stdc++.h>
using namespace std;
int n, a[1010], pos[1010], s = 0;
bool vis[1010];
char ans[1010][1010];
int main() {
  scanf("%d", &n);
  for (int i = 1; i <= n; i++)
    scanf("%d", &a[i]), pos[a[i]] = i, s += abs(a[i] - i);
  for (int i = 1; i <= n; i++) fill(ans[i] + 1, ans[i] + n + 1, '.');
  if (!s) {
    printf("%d\n", n);
  } else {
    printf("%d\n", n - 1);
    vector<int> cur;
    int cpos = 1;
    int p = 1;
    do {
      cur.push_back(p);
      vis[p] = 1;
      p = pos[p];
    } while (p != 1);
    for (int i = 2; i <= n; i++) {
      if (!vis[i]) {
        cur.clear();
        int p = i;
        do {
          cur.push_back(p);
          vis[p] = 1;
          p = pos[p];
        } while (p != i);
        if (cur.size() == 1) continue;
        int pos = -1;
        for (int j = 0; j < cur.size(); j++) {
          if (cur[(j + 1) % cur.size()] > cur[j]) {
            pos = j;
            break;
          }
        }
        ans[cpos][cur[pos]] = '\\';
        ans[cpos][cur[(pos + 1) % cur.size()]] = '\\';
        ans[cpos][1] = '\\';
        for (int j = 2; j < cur.size(); j++) {
          if (cur[(pos + j) % cur.size()] > cur[(pos + j - 1) % cur.size()]) {
            ans[cpos + j - 1][cur[(pos + j) % cur.size()]] = '\\';
            ans[cpos + j - 1][cur[(pos + j - 1) % cur.size()]] = '\\';
          } else {
            ans[cpos + j - 1][cur[(pos + j) % cur.size()]] = '/';
            ans[cpos + j - 1][cur[(pos + j - 1) % cur.size()]] = '/';
          }
        }
        ans[cpos + cur.size() - 1][1] = '/';
        ans[cpos + cur.size() - 1][cur[(pos + cur.size() - 1) % cur.size()]] =
            '/';
        cpos += cur.size();
      }
    }
    cur.clear();
    p = 1;
    do {
      cur.push_back(p);
      vis[p] = 1;
      p = pos[p];
    } while (p != 1);
    ans[1][1] = '\\';
    for (int i = 1; i < cur.size(); i++) {
      if (cur[i] > cur[i - 1]) {
        ans[cpos + i][cur[i]] = '\\';
        ans[cpos + i][cur[i - 1]] = '\\';
      } else {
        ans[cpos + i][cur[i]] = '/';
        ans[cpos + i][cur[i - 1]] = '/';
      }
    }
    cpos += cur.size();
  }
  for (int i = n; i >= 1; i--) puts(ans[i] + 1);
  return 0;
}
