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