Binary tree maximum path sum