def mod_choose(self, n, r):
    p = self.mod
    return ((((self.fac[n] * self.ifac[r]) % p) * self.ifac[(n - r)]) % p)
def mod_choose(self, n, r):
    p = self.mod
    return ((((self.fac[n] * self.ifac[r]) % p) * self.ifac[(n - r)]) % p)