def METHOD_NAME(total: int, observed: int, success: float) -> float:
    if total * success > 100 and total * (1.0 - success) > 100:
        return approx_binomial(total, observed, success)
    else:
        return exact_binomial(total, observed, success)