sub qs { local ($x, @xs) = @_ and return qs(grep($_ < $x, @xs)), $x, qs(grep($_ >= $x, @xs)) or () }