import sys

def draw(x, y, pixel):
	if 0 <= x < M and 0 <= y < M:
		c[y][x] = pixel

def draw_tree(x, y, s):
	draw(x - 1, y, "_")
	draw(x + 1, y, "_")
	if s == 0:
		draw(x, y, chr(111))
	else:
		draw(x, y, "|")
		for yy in range(s):
			draw(x, y + yy + 1, "|")
			draw(x - 1, y + yy + 1, "/")
			draw(x + 1, y + yy + 1, "\\")
		draw(x, y + s + 1, "^")	

while True:
	try:	
		line = sys.stdin.readline()
		if not line:
			break
		M, N = [int(i) for i in line.rstrip().split()]
		c = [["."]*M for _ in range(M)]
		for _ in range(N):
			s, x, y = [int(i) for i in sys.stdin.readline().rstrip().split()]
			draw(x - 1, y, "_")
			draw(x + 1, y, "_")
			if s == 0:
				draw(x, y, chr(111))
			else:
				draw(x, y, "|")
				for yy in range(s):
					draw(x, y + yy + 1, "|")
					draw(x - 1, y + yy + 1, "/")
					draw(x + 1, y + yy + 1, "\\")
				draw(x, y + s + 1, "^")
		
		print((M+2)*"*")
		for line in c[::-1]:
			print("*" + "".join(line) + "*")		
		print((M+2)*"*")
		print()


	except EOFError:
		break

exit()
