sub sieve { sub p{$_[0],@_>1?p(grep$_%$_[0],@_):1}p 2..pop }