# http://c...content-available-to-author-only...e.com/questions/52136/draw-growing-stacks-of-boxes/52161#52161
n=input()
w=n*n+n+2>>1
a=eval(`[[' ']*w]*-~n**2`)
r=range
j=[i*i+i>>1for i in r(n+1)]
p=0
for i in r(w):
if i in j:
p+=p<n
for k in r(p*p+1):a[~k][i]='+'if k%p<1or' '<a[~k][i-1]<'.'else'|'
else:
for k in r(p*p+1):a[~k][i]=' 'if k%p else'-'
print'\n'.join(''.join(i)for i in a)
IyBodHRwOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vcXVlc3Rpb25zLzUyMTM2L2RyYXctZ3Jvd2luZy1zdGFja3Mtb2YtYm94ZXMvNTIxNjEjNTIxNjEKCm49aW5wdXQoKQp3PW4qbituKzI+PjEKYT1ldmFsKGBbWycgJ10qd10qLX5uKioyYCkKcj1yYW5nZQpqPVtpKmkraT4+MWZvciBpIGluIHIobisxKV0KcD0wCmZvciBpIGluIHIodyk6CiBpZiBpIGluIGo6CiAgICBwKz1wPG4KICAgIGZvciBrIGluIHIocCpwKzEpOmFbfmtdW2ldPScrJ2lmIGslcDwxb3InICc8YVt+a11baS0xXTwnLidlbHNlJ3wnCiBlbHNlOgogICAgZm9yIGsgaW4gcihwKnArMSk6YVt+a11baV09JyAnaWYgayVwIGVsc2UnLScKcHJpbnQnXG4nLmpvaW4oJycuam9pbihpKWZvciBpIGluIGEp