Question: 
Write a function to find the maximum sum we can make by dividing number in three parts recursively and summing them up together for the given number.


Model's Code:
def breakSum(n):
    if n <= 2:
        return n
    return max(n, breakSum(n // 3) + breakSum(n // 3) + breakSum(n // 3))



Sample Correct Code:
MAX = 1000000
def breakSum(n): 
	dp = [0]*(n+1) 
	dp[0] = 0
	dp[1] = 1
	for i in range(2, n+1): 
		dp[i] = max(dp[int(i/2)] + dp[int(i/3)] + dp[int(i/4)], i); 
	return dp[n]


Asserts:
assert breakSum(12) == 13
assert breakSum(24) == 27
assert breakSum(23) == 23


Tests:
Test 1 of 3: FAIL: AssertionError()

Test 416 of 974: 302/416 (72.59615384615384%): failed