Merge based on subtree size, not depth