





'''simple docstring'''


from ..utils import requires_backends


_SCREAMING_SNAKE_CASE			=							None

class 				lowerCAmelCase_						:




 def __init__(		self     ,       *_lowerCAmelCase     ,       **_lowerCAmelCase						)      ->							List[str]:
     requires_backends(self     ,       ["detectron2"]						)





 @classmethod
 def 							_snake_case				(		cls     ,       *_lowerCAmelCase     ,       **_lowerCAmelCase						)      ->							str:
     requires_backends(cls     ,       ["detectron2"]						)









'''simple docstring'''


def 		__a(SCREAMING_SNAKE_CASE_					:   List[Any]						,    SCREAMING_SNAKE_CASE_					:   str      ):



    '''simple docstring'''





    if n < 0:
        return 0
    # table[i] represents the number of ways to get to amount i
    _lowerCAmelCase		     = [0] * (n + 1)

    # There is exactly 1 way to get to zero(You pick no coins).
    _lowerCAmelCase		     = 1

    # Pick all coins one by one and update table[] values
    # after the index greater than or equal to the value of the
    # picked coin
    for coin_val in s:
        for j in range(SCREAMING_SNAKE_CASE_						,    n + 1      ):
            table[j] += table[j - coin_val]

    return table[n]


if __name__ == "__main__":
       import doctest

       doctest.testmod()


