Merging Branch items from different tree structures

Hello,
part of a more complex pattern generation , I need to group surfaces generated by different steps.
To simplify in the example I just put 2 branch list, but consider they could be n.

A1…An are in one list , B1-C1-D1…Bn-Cn-Dn are in another list.
The lists are also with different tree structure.
I need to group A , with BCD , obtaining a tree with n branches and 4 item each (ABCD)
Playing with weave I reach the result, but it is harcoded to this specifi case of 2 groups ( Mask manual created).
Is there a more simple wya to manage it , or I need to dev a mask creation algorithg?

merging surfaces.gh (16.9 KB)

Thanks

I used partition list instead of split in order to solve the manual mask creation