



"""simple docstring"""





import math






def 	__UpperCAmelCase					(       snake_case_  :  int   )							->	str:






   """simple docstring"""


   if number == 0:
      _lowerCAmelCase					     =		"""Zero"""
      return words
   else:
      _lowerCAmelCase					     =		math.logaa(snake_case_   )
      _lowerCAmelCase					     =		digits + 1
      _lowerCAmelCase					     =		{}
      _lowerCAmelCase					     =		""""""
      _lowerCAmelCase					     =		"""One"""
      _lowerCAmelCase					     =		"""Two"""
      _lowerCAmelCase					     =		"""Three"""
      _lowerCAmelCase					     =		"""Four"""
      _lowerCAmelCase					     =		"""Five"""
      _lowerCAmelCase					     =		"""Six"""
      _lowerCAmelCase					     =		"""Seven"""
      _lowerCAmelCase					     =		"""Eight"""
      _lowerCAmelCase					     =		"""Nine"""

      _lowerCAmelCase					     =		{}
      _lowerCAmelCase					     =		""""""
      _lowerCAmelCase					     =		"""Twenty"""
      _lowerCAmelCase					     =		"""Thirty"""
      _lowerCAmelCase					     =		"""Forty"""
      _lowerCAmelCase					     =		"""Fifty"""
      _lowerCAmelCase					     =		"""Sixty"""
      _lowerCAmelCase					     =		"""Seventy"""
      _lowerCAmelCase					     =		"""Eighty"""
      _lowerCAmelCase					     =		"""Ninety"""

      _lowerCAmelCase					     =		{}
      _lowerCAmelCase					     =		"""Ten"""
      _lowerCAmelCase					     =		"""Eleven"""
      _lowerCAmelCase					     =		"""Twelve"""
      _lowerCAmelCase					     =		"""Thirteen"""
      _lowerCAmelCase					     =		"""Fourteen"""
      _lowerCAmelCase					     =		"""Fifteen"""
      _lowerCAmelCase					     =		"""Sixteen"""
      _lowerCAmelCase					     =		"""Seventeen"""
      _lowerCAmelCase					     =		"""Eighteen"""
      _lowerCAmelCase					     =		"""Nineteen"""

      _lowerCAmelCase					     =		{}
      _lowerCAmelCase					     =		"""Hundred,"""
      _lowerCAmelCase					     =		"""Thousand,"""
      _lowerCAmelCase					     =		"""Lakh,"""
      _lowerCAmelCase					     =		"""Crore,"""

      _lowerCAmelCase					     =		number
      _lowerCAmelCase					     =		""""""
      _lowerCAmelCase					     =		0
      _lowerCAmelCase					     =		int(snake_case_   )
      while counter < digits:
         _lowerCAmelCase					     =		temp_num % 10
         if counter % 2 == 0:
            _lowerCAmelCase					     =		""""""
            if counter in placevalue and current != 0:
               _lowerCAmelCase					     =		placevalue[counter]
            if counter == 2:
               _lowerCAmelCase					     =		singles[current] + addition + words
            elif counter == 0:
               if ((temp_num % 100) // 10) == 1:
                  _lowerCAmelCase					     =		teens[current] + addition + words
                  _lowerCAmelCase					     =		temp_num // 10
                  counter += 1
               else:
                  _lowerCAmelCase					     =		singles[current] + addition + words

            else:
               _lowerCAmelCase					     =		doubles[current] + addition + words

         else:
            if counter == 1:
               if current == 1:
                  _lowerCAmelCase					     =		teens[number % 10] + words
               else:
                  _lowerCAmelCase					     =		""""""
                  if counter in placevalue:
                     _lowerCAmelCase					     =		placevalue[counter]
                  _lowerCAmelCase					     =		doubles[current] + addition + words
            else:
               _lowerCAmelCase					     =		""""""
               if counter in placevalue:
                  if current == 0 and ((temp_num % 100) // 10) == 0:
                     _lowerCAmelCase					     =		""""""
                  else:
                     _lowerCAmelCase					     =		placevalue[counter]
               if ((temp_num % 100) // 10) == 1:
                  _lowerCAmelCase					     =		teens[current] + addition + words
                  _lowerCAmelCase					     =		temp_num // 10
                  counter += 1
               else:
                  _lowerCAmelCase					     =		singles[current] + addition + words
         counter += 1
         _lowerCAmelCase					     =		temp_num // 10
   return words


if __name__ == "__main__":
  import doctest

  doctest.testmod()




"""simple docstring"""





def 	__UpperCAmelCase					(       snake_case_  :  Optional[int]   ,	snake_case_  :  List[str]   )							->	Optional[int]:






   """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(snake_case_   ,	n + 1   ):
         table[j] += table[j - coin_val]

   return table[n]


if __name__ == "__main__":
  import doctest

  doctest.testmod()