f(a:b:s)=a+b:f(b:s) f s=s t=[1]:[1:f s|s<-t] c n|odd n=0|0<1=1+c(div n 2) z s=do i<-s;' ':case c i of 0->".";x->show x a i=take(64-i)$repeat ' ' g(i,s)=putStrLn$a i++tail s++a i main=mapM_ g$zip[1..][z i|i<-take 64 t]