import re
b='+','---','+'
v='|'
x=66
t=x*11*[' ',' ']
t[::-x]='\n'*22
i=u=0
for e in re.findall("[A-Z ][a-z]*","HeHLiBeBCNOFNeNaMgAlSiPSClArKCaScTiVCrMnFeCoNiCuZnGaGeAsSeBrKrRbSrYZrNbMoTcRuRhPdAgCdInSnSbTeIXeCsBaLaCePrNdPmSmEuGdTbDyHoErTmYbLuHfTaWReOsIrPtAuHgTlPbBiPoAtRnFrRaAcThPaUNpPu amCmBkCfEsFmMdNoLrRfDbSgBhHsMtDsRgCnUutUuqUupUuhUusUuo"):
i+=1
for z in b,(v,"%3d"%i,v),(v,e.center(3),v),b:t[u:u+3]=z;u+=x
p=i+30+((i>3)+(i>11))*24+((i>19)+(i>37))*14;u=p/32*x*3+p%32*2
print''.join(t)
Note that non-ascii characters in the above source code will be escaped (such as \x9f).