#include<bits/stdc++.h>
using namespace std;
string st[3000];
int n,m,ceng=2,deeth=3,dc[12];
struct node{
int x,y;
}del[12];
bool cmp(node a,node b){
if(a.x!=a.x)
return a.x<b.x;
return a.y>b.y;
}
void dfs(int x,int y){
st[x][y]=' ';
if(st[x+1][y-1]=='\\') dfs(x+1,y-1);
if(st[x+1][y+1]=='/') dfs(x+1,y+1);
if(st[x-1][y-1]=='/'||st[x-1][y-1]=='o') dfs(x-1,y-1);
if(st[x-1][y+1]=='\\'||st[x-1][y+1]=='o') dfs(x-1,y+1);
return;
}
int main(){
cin>>n>>m;
st[1]="o o";
st[2]=" / ";st[2]+='\\',st[2]+=' ';
st[3]=" o ";
dc[n]=1,dc[n-ceng+1]=deeth;
while(ceng<n){
for(int i=1;i<=deeth;i++)
st[i]=st[i]+' '+st[i];
int wl=st[deeth].find("o"),mid=st[deeth].size()/2+1;
int wr=wl+mid,w=0,len=st[deeth].size();
while(wl<wr){
deeth++,wl++,wr--;
if(wl>=wr) break;
for(int i=0;i<wl;i++)
st[deeth]+=' ';
st[deeth]+='/';
for(int i=wl+1;i<wr;i++)
st[deeth]+=' ';
st[deeth]+='\\';
for(int i=wr+1;i<len;i++)
st[deeth]+=' ';
}
for(int i=0;i<mid-1;i++)
st[deeth]+=' ';
st[deeth]+='o';
for(int i=mid;i<len;i++)
st[deeth]+=' ';
ceng++;
dc[n-ceng+1]=deeth;
}
for(int i=1;i<=m;i++)
cin>>del[i].x>>del[i].y;
sort(del+1,del+1+m,cmp);
for(int i=1;i<=m;i++){
int x=del[i].x,y=del[i].y,pd=1;
int wz=-1,s=0;
while(s<y){
wz++;
if(st[dc[x]].find("o",wz)==string::npos){
pd=0;
break;
}
wz=st[dc[x]].find("o",wz);
s++;
}
if(pd);
dfs(dc[x],wz);
}
for(int i=deeth;i>=1;i--)
cout<<st[i]<<endl;
return 0;
}