'Function to expand binomial(n,k) when m is positive integer
Also,
n is self.args[0] and k is self.args[1] while using binomial(n, k)'

def _eval_expand_func(self, **hints):

    n = self.args[0]
    if n.is_Number:
        return binomial(*self.args)
    k = self.args[1]
    if (k.is_Add and (n in k.args)):
        k = (n - k)
    if k.is_Integer:
        if (k == S.Zero):
            return S.One
        elif (k < 0):
            return S.Zero
        else:
            n = self.args[0]
            result = ((n - k) + 1)
            for i in range(2, (k + 1)):
                result *= ((n - k) + i)
                result /= i
            return result
    else:
        return binomial(*self.args)
