#include<bits/stdc++.h>
using namespace std;
int m, n, z[30][30]; char s[3005][3005] = {0}; bool f[15][15];
void dfs(int x, int y){
if(f[x][y] || x > m) return;
s[z[1][1] - z[x][1] + 1][z[x][y]] = 'o';
if(x != 1 || y != 1){
if(y % 2 == 1){
for(int nx = z[1][1] - z[x][1], ny = z[x][y] + 1; ny < z[x - 1][(y + 1) / 2]; nx--, ny++)
s[nx][ny] = '/';
}else{
for(int nx = z[1][1] - z[x][1], ny = z[x][y] - 1; ny > z[x - 1][y / 2]; nx--, ny--)
s[nx][ny] = '\\';
}
}dfs(x + 1, y * 2 - 1); dfs(x + 1, y * 2);
}int main(){
scanf("%d%d", &m, &n); z[m][1] = 1; int tmp = pow(2, m - 1);
for(int i = 2; i <= tmp; i++)
z[m][i] = z[m][i - 1] + (i % 2 == 0 ? 4 : 2);
for(int i = m - 1; i >= 1; i--){
int cnt = pow(2, i - 1);
for(int j = 1; j <= cnt; j++){
z[i][j] = (z[i + 1][j * 2 - 1] + z[i + 1][j * 2]) / 2;
}
}for(int i = 1; i <= n; i++){
int a, b; scanf("%d%d", &a, &b);
f[a][b] = 1;
}dfs(1, 1);
for(int i = 1; i <= z[1][1] - z[m][1] + 1; i++){
for(int j = 1; j <= z[m][tmp]; j++){
if(s[i][j] == 0) printf(" ");
else printf("%c", s[i][j]);
}printf("\n");
}
return 0;
}