




"""simple docstring"""


def 	lowercase_				(			__UpperCAmelCase = 200				)						->    int:
      lowerCAmelCase__      :			Optional[int]   =	[1, 2, 5, 10, 20, 50, 100, 200]
      lowerCAmelCase__      :			Union[str, Any]   =	[0] * (pence + 1)
      lowerCAmelCase__      :			List[str]   =	1  # base case: 1 way to make 0 pence

      for coin in coins:
            for i in range(__UpperCAmelCase    ,		pence + 1    ,		1				):
                  number_of_ways[i] += number_of_ways[i - coin]
      return number_of_ways[pence]


if __name__ == "__main__":
  assert solution(2_0_0) == 7_3_6_8_2











"""simple docstring"""


def 	lowercase_				(			__UpperCAmelCase				)						->    str:
      if not all(char in """01""" for char in bin_string				):
            raise ValueError("""Non-binary value was passed to the function"""				)
      if not bin_string:
            raise ValueError("""Empty string was passed to the function"""				)
      lowerCAmelCase__      :			List[str]   =	""""""
      while len(__UpperCAmelCase				) % 3 != 0:
            lowerCAmelCase__      :			Optional[Any]   =	"""0""" + bin_string
      lowerCAmelCase__      :			List[Any]   =	[
          bin_string[index : index + 3]
          for index in range(len(__UpperCAmelCase				)				)
          if index % 3 == 0
      ]
      for bin_group in bin_string_in_3_list:
            lowerCAmelCase__      :			Optional[int]   =	0
            for index, val in enumerate(__UpperCAmelCase				):
                  oct_val += int(2 ** (2 - index) * int(__UpperCAmelCase				)				)
            oct_string += str(__UpperCAmelCase				)
      return oct_string


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

  testmod()





