https://freecpp.com/binary-tree-maximum-path-sum/