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