q=zip[1..100]$scanl1(+)$zipWith(+)(cycle[0,0,1])$cycle[0,0,0,0,-1] main=mapM(putStrLn.r.dropWhile(==' ').r.f q)[0..14] f((a,b):y)i|i==b=show a++f y i|1>0=replicate(length.show$a)' '++f y i f[]14="";f y i=f y(i+1);r=reverse