Make a function that tries to avoid overlapping rectangles by moving them. Input consists of a set of rectangles, each with a priority, allowing to privilege its movements with respect to another. Rectangles with less priority may move more easily. Besides priority, each rectangle has an Identifier which allows to attach it to a point (x,y), and two relative displacements (dx,dy) respect to that point. Optionally, the (x,y) point itself will be a rectangle that will not be movable, but will influence the movements of the others. This rectangle will have the topmost priority.. On Output, each rectangle of the set will have the (dx,dy) displacement vector modified according to new layout. In case of need preferably use structures used in previous projects, like CVector, CMatrix and already inserted in my environment. Send comments in case of need.