






'''simple docstring'''







__A      :       List[str]      =	{hex(i)[2:]: i for i in range(1_6)}  # Use [:2] to strip off the leading '0x'


def 						_UpperCamelCase							(     snake_case__							):
      __A		   =      hex_string.strip().lower()
      if not hex_string:
            raise ValueError("Empty string was passed to the function"							)
      __A		   =      hex_string[0] == "-"
      if is_negative:
            __A		   =      hex_string[1:]
      if not all(char in hex_table for char in hex_string							):
            raise ValueError("Non-hexadecimal value was passed to the function"							)
      __A		   =      0
      for char in hex_string:
            __A		   =      16 * decimal_number + hex_table[char]
      return -decimal_number if is_negative else decimal_number


if __name__ == "__main__":
       from doctest import testmod

       testmod()










'''simple docstring'''







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

      # There is exactly 1 way to get to zero(You pick no coins).
      __A		   =      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()


