Fixing the performance bug - using disjoint set union find again for the left/right partitions