Subdivide given area into randomly sized blocks with no gaps

And this one (with gaps) quite recently ,but reuse old ones.