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