main=putStr$f 0 1 s=repeat ' ' f i b|i<64=q++zipWith g p r++"\n" where p=t(b-i)'\\' r=t i '/' t j c=take j s++(take(128-j)$cycle$c:take b s) g ' ' y=y g x ' '=x q|i*2+2>b=f(i+1)(b*2+1)|0<1=f(i+1)b f i b=[]