Question: 
Write a function to count sequences of given length having non-negative prefix sums that can be generated by given values.


Model's Code:
def find_ways(n):
    if n % 2 != 0:
        return 0
    n //= 2
    dp = [0] * (n + 1)
    dp[0] = 1
    for i in range(1, n + 1):
        for j in range(i):
            dp[i] += dp[j] * dp[i - 1 - j]
    return dp[n]



Sample Correct Code:
def bin_coff(n, r): 
	val = 1
	if (r > (n - r)): 
		r = (n - r) 
	for i in range(0, r): 
		val *= (n - i) 
		val //= (i + 1) 
	return val 
def find_ways(M): 
	n = M // 2
	a = bin_coff(2 * n, n) 
	b = a // (n + 1) 
	return (b) 


Asserts:
assert find_ways(4) == 2
assert find_ways(6) == 5
assert find_ways(8) == 14


Tests:
Test 1 of 3: PASS
Test 2 of 3: PASS
Test 3 of 3: PASS

Test 348 of 974: 252/348 (72.41379310344827%): success