def 	UpperCAmelCase       (		lowerCAmelCase_						,      lowerCAmelCase_       )	->	int:
     if n < 0:
          return 0
     # table[i] represents the number of ways to get to amount i
     a  :    Tuple				=						[0] * (n + 1)

     # There is exactly 1 way to get to zero(You pick no coins).
     a  :    Optional[int]				=						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(lowerCAmelCase_						,      n + 1       ):
               table[j] += table[j - coin_val]

     return table[n]


if __name__ == "__main__":
  import doctest

  doctest.testmod()
def 	UpperCAmelCase       (		lowerCAmelCase_       )	->	int:
     return 1 if input_a == 0 else 0







def 	UpperCAmelCase       (		)	->	None:
     assert not_gate(0       ) == 1
     assert not_gate(1       ) == 0


if __name__ == "__main__":
  print(not_gate(0))
  print(not_gate(1))