There are two values to track:
Max path going down from (used for parent's calculation).
Max path through (candidate for global answer).
Path through = (if both positive). Path from = . Return this to parent. The parent can only extend one branch, not both. If the parent used both branches, it would create a branching structure, not a path.