#include using namespace std; #define PB push_back #define CL(A, I) (memset(A, I, sizeof(A))) #define D(X) cout<<" "<<#X": "< vi; typedef pair ii; typedef vector vii; ll M, N, S, X, Y; char a[105][105]; bool check(ll X, ll Y){ return X>0 && Y>0 && X<=M && Y<=M; } void makea(){ F(M+2) FF(M+2) a[i][j]='.'; } void makef(){ F(M+2){ a[0][i]='*',a[M+1][i]='*',a[i][0]='*',a[i][M+1]='*'; } } int main() { while(cin>>M>>N){ makea(); makef(); F(N){ cin>>S>>X>>Y; X++, Y++; if(S==0){ if(check(X, Y)) a[X][Y]='o'; if(check(X-1, Y)) a[X-1][Y]='_'; if(check(X+1, Y)) a[X+1][Y]='_'; } else{ if(check(X, Y)) a[X][Y]='|'; if(check(X-1, Y)) a[X-1][Y]='_'; if(check(X+1, Y)) a[X+1][Y]='_'; FOR(i, 1, S+1){ if(check(X, Y+i)) a[X][Y+i]='|'; if(check(X-1, Y+i)) a[X-1][Y+i]='/'; if(check(X+1, Y+i)) a[X+1][Y+i]='\\'; } if(check(X, Y+S+1)) a[X][Y+S+1]='^'; } } for(int i=M+1;i>=0;i--){ for(int j=0;j<=M+1;j++){ cout<<(char)a[j][i]; } cout<