# http://c...content-available-to-author-only...e.com/a/85196/34718
def f(s):
s=s.split("\n");e=l=0;h=len(s);w=len(s[0])
for c in s[0][1:-1]+s[-1][1:-1]:
if(c in"#-")<1:return 0
if"-"==c:e=1
for r in s[1:-1]:
if(r[0]in"#|")*(r[-1]in"#|")<1or" "*5in r:return 0
if"$"in r:l=1
for r in zip(*s):
if" "*5in`r`[2::5]:return 0
if(h*w<60)+(h*w>749)+(w<5)+(h<4)or" "in s[0][0]+s[0][-1]+s[-1][0]+s[-1][-1]or("T"in s[-2])*("C"in s[-2])*l<1or("#"in s[-1][2:-2])<1or"|"in"".join(s[1:-1])<1>e:return 0
return 1
s = """
-####-#####|
#* *** *#
#* $ *#
#**** *** *#
#**T***C* *|
##-------###"""
print f(s[1:])
IyBodHRwOi8vYy4uLmNvbnRlbnQtYXZhaWxhYmxlLXRvLWF1dGhvci1vbmx5Li4uZS5jb20vYS84NTE5Ni8zNDcxOAoKZGVmIGYocyk6CiBzPXMuc3BsaXQoIlxuIik7ZT1sPTA7aD1sZW4ocyk7dz1sZW4oc1swXSkKIGZvciBjIGluIHNbMF1bMTotMV0rc1stMV1bMTotMV06CglpZihjIGluIiMtIik8MTpyZXR1cm4gMAoJaWYiLSI9PWM6ZT0xCiBmb3IgciBpbiBzWzE6LTFdOgoJaWYoclswXWluIiN8IikqKHJbLTFdaW4iI3wiKTwxb3IiICIqNWluIHI6cmV0dXJuIDAKCWlmIiQiaW4gcjpsPTEKIGZvciByIGluIHppcCgqcyk6CglpZiIgIio1aW5gcmBbMjo6NV06cmV0dXJuIDAKIGlmKGgqdzw2MCkrKGgqdz43NDkpKyh3PDUpKyhoPDQpb3IiICJpbiBzWzBdWzBdK3NbMF1bLTFdK3NbLTFdWzBdK3NbLTFdWy0xXW9yKCJUImluIHNbLTJdKSooIkMiaW4gc1stMl0pKmw8MW9yKCIjImluIHNbLTFdWzI6LTJdKTwxb3IifCJpbiIiLmpvaW4oc1sxOi0xXSk8MT5lOnJldHVybiAwCiByZXR1cm4gMQoJCgkKcyA9ICIiIgotIyMjIy0jIyMjI3wKIyogICAgKioqICojCiMqICAgICQgICAqIwojKioqKiAqKiogKiMKIyoqVCoqKkMqICp8CiMjLS0tLS0tLSMjIyIiIgoKcHJpbnQgZihzWzE6XSk=