Question: 
Write a function to find eulerian number a(n, m).


Model's Code:
def eulerian_num(n, m):
    A = [[0] * (n + 1) for _ in range(n + 1)]
    for i in range(n + 1):
        A[i][0] = 1 if i == 0 else 0
        A[i][i] = 1
    for i in range(1, n + 1):
        for j in range(1, i):
            A[i][j] = (i - j) * A[i - 1][j - 1] + (j + 1) * A[i - 1][j]
    return A[n][m]



Sample Correct Code:
def eulerian_num(n, m): 
	if (m >= n or n == 0): 
		return 0 
	if (m == 0): 
		return 1 
	return ((n - m) * eulerian_num(n - 1, m - 1) +(m + 1) * eulerian_num(n - 1, m))


Asserts:
assert eulerian_num(3, 1) == 4
assert eulerian_num(4, 1) == 11
assert eulerian_num(5, 3) == 26


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

Test 103 of 974: 79/103 (76.69902912621359%): failed