



'''simple docstring'''



def _lowercase   (  __A							,__A       ):



 '''simple docstring'''



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

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

 return table[n]


if __name__ == "__main__":
 import doctest

 doctest.testmod()










'''simple docstring'''



def _lowercase   (  __A							,__A       ):



 '''simple docstring'''



 __UpperCamelCase				      =  1
 while b > 0:
  if b & 1:
   res *= a

  a *= a
  b >>= 1

 return res







def _lowercase   (  __A							,__A							,__A       ):



 '''simple docstring'''



 __UpperCamelCase				      =  1
 while b > 0:
  if b & 1:
   __UpperCamelCase				      =  ((res % c) * (a % c)) % c

  a *= a
  b >>= 1

 return res





