#include int main() { int M, N; while (scanf("%d %d", &M, &N) != EOF) { char canvas[M][M]; for (int i = 0; i < M; i++) for (int j = 0; j < M; j++) canvas[i][j] = '.'; for (int i = 0; i < N; i++) { int S; long X, Y; scanf("%d %ld %ld", &S, &X, &Y); if (Y >= 0 && Y < M) { if (X > 0 && X < M) canvas[X - 1][Y] = '_'; if (X >= 0 && X < M) canvas[X][Y] = (S == 0 ? 'o' : '|'); if (X >= 0 && X < M - 1) canvas[X + 1][Y] = '_'; } if (S > 0) { if (Y + S + 1 < M && Y + S + 1 > 0 && X >= 0 && X < M) canvas[X][Y + S + 1] = '^'; for (int i = Y + 1; i <= Y + S; i++) { if (i >= 0 && i < M) { if (X > 0 && X < M) canvas[X - 1][i] = '/'; if (X >= 0 && X < M) canvas[X][i] = '|'; if (X >= 0 && X < M - 1) canvas[X + 1][i] = '\\'; } } } } for (int i = 0; i < M + 2; i++) printf("*"); printf("\n"); for (int i = 1; i <= M; i++) { printf("*"); for (int j = 0; j < M; j++) printf("%c", canvas[j][M - i]); printf("*\n"); } for (int i = 0; i < M + 2; i++) printf("*"); printf("\n"); } return 0; }