coefficient binomial

facts = {}
def fact(n):
    if n == 1:
        return 1
    elif facts.get(n) is not None:
        return facts[n]
    else:
        facts[n] = n * fact(n-1)
        return facts[n]
    
def binomial_coefficient(n, k):
    if n == 0 or k == 0 or k == n:
        return 1
    a = fact(n)
    b = fact(k)
    c = fact(n-k)
    return a//(b*c) 
fmoeran