Problem 18 - Maximum Path Sum 1