<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def NAND(*args, **kwargs):
 """ ALL args must raise an exception when called overall. Raise the specified exception on failure OR the first exception. :params iterable[Certifier] args: The certifiers to call :param callable kwargs['exc']: Callable that excepts the unexpectedly raised exception as argument and return an exception to raise. """

    errors = []

    for arg in args:
        try:
            arg()
        except CertifierError as e:
            errors.append(e)

    if (len(errors) != len(args)) and len(args) > 1:
        exc = kwargs.get(
            'exc',
            CertifierValueError('Expecting no certified values'),
        )
        if exc is not None:
            raise exc