main=mapM print$take 100[z|z<-[32416187567..],z#p>0] n#(p:q)|p*p>n=n|n`mod`p>0=n#q _#_=0 p=2:p![3..]where(p:q)!r=h++q![x|x<-t,x`mod`p>0]where(h,t)=span(