import sys
def main():
input = sys.stdin.read
data = input().split()
idx = 0
while idx < len(data):
n = int(data[idx])
m = int(data[idx + 1])
idx += 2
points = []
for _ in range(m):
x = int(data[idx]) - 1
y = int(data[idx + 1]) - 1
points.append((x, y))
idx += 2
grid = [[' '] * n for _ in range(n)]
for i in range(m):
x, y = points[i]
grid[x][y] = '*'
if i + 1 < m:
x2, y2 = points[i + 1]
if x == x2:
sy = 1 if y2 > y else -1
for j in range(y, y2 + sy, sy):
grid[x][j] = '*'
else:
sx = 1 if x2 > x else -1
for j in range(x, x2 + sx, sx):
grid[j][y] = '*'
border = '-' * (n + 2)
print(border)
for row in grid:
print('|' + ''.join(row) + '|')
print(border)
if __name__ == "__main__":
main()