def func(x, y) :
dif = x[1]- x[0]
dif_3 = dif//3
if dif_3 == 1 :
for tmp_y in range(y[0],y[1]) :
for tmp_x in range(x[0], x[1]) :
result[tmp_y][tmp_x] = True
result[y[0]+1][x[0]+1] = False
return
func((x[0],x[0]+dif_3), (y[0],y[0]+dif_3))
func((x[0]+dif_3,x[0]+dif_3*2), (y[0],y[0]+dif_3))
func((x[0]+dif_3*2,x[0]+dif_3*3), (y[0],y[0]+dif_3))
func((x[0],x[0]+dif_3), (y[0]+dif_3,y[0]+dif_3*2))
func((x[0]+dif_3*2,x[0]+dif_3*3), (y[0]+dif_3,y[0]+dif_3*2))
func((x[0],x[0]+dif_3), (y[0]+dif_3*2,y[0]+dif_3*3))
func((x[0]+dif_3,x[0]+dif_3*2), (y[0]+dif_3*2,y[0]+dif_3*3))
func((x[0]+dif_3*2,x[0]+dif_3*3), (y[0]+dif_3*2,y[0]+dif_3*3))
N = int(input())
result = [[False]*N for _ in range(N)]
func((0,N),(0,N))
for y in range(N) :
for x in range(N) :
if result[y][x] :
print("*", end="")
else :
print(" ", end="")
print("")
def stars(n):
m = []
for i in range(3 * len(n)):
if i // len(n) == 1:
m.append(n[i % len(n)] + " " * len(n) + n[i % len(n)])
else:
m.append(n[i % len(n)] * 3)
return list(m)
star = ["***", "* *", "***"]
N = int(input())
j = 0
while N != 3:
N = N // 3
j += 1
for i in range(j):
star = stars(star)
for i in star:
print(i)