Question: 
Write a function to find the number of ways to fill it with 2 x 1 dominoes for the given 3 x n board.


Model's Code:
def count_ways(n):
    if n == 0:
        return 1
    if n == 1:
        return 0
    if n == 2:
        return 3
    
    dp = [0] * (n + 1)
    dp[0] = 1
    dp[1] = 0
    dp[2] = 3
    
    for i in range(3, n + 1):
        dp[i] = 4 * dp[i - 2] + dp[i - 4]
    
    return dp[n]



Sample Correct Code:
def count_ways(n): 
	A = [0] * (n + 1) 
	B = [0] * (n + 1) 
	A[0] = 1
	A[1] = 0
	B[0] = 0
	B[1] = 1
	for i in range(2, n+1): 
		A[i] = A[i - 2] + 2 * B[i - 1] 
		B[i] = A[i - 1] + B[i - 2] 
	return A[n] 


Asserts:
assert count_ways(2) == 3
assert count_ways(8) == 153
assert count_ways(12) == 2131


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

Test 5 of 974: 3/5 (60.0%): failed