There are some restrictions on how the heaps may be organised in the array. The most obvious way of placing them one after another fails because after the decrements of the size of a heap, the free space that is left is not continuous, so there is no obvious way to keep the sorted elements in this space. As a consequence, we are forced to choose an alternative way of storing the multiple heaps in the same array and this is by multiplexing them and changing the functions that compute the parent and the children of a node.