
def 			_SCREAMING_SNAKE_CASE      (	_lowerCamelCase				:    Dict)      ->					Optional[int]:






							'''simple docstring'''





							__UpperCamelCase			:     Union[str, Any]         =      len(_lowerCamelCase)
							__UpperCamelCase			:     Union[str, Any]         =      sum(_lowerCamelCase)

							__UpperCamelCase			:     List[str]         =      [[False for x in range(s + 1)] for y in range(n + 1)]

							for i in range(1		,						n + 1):
														__UpperCamelCase			:     str         =      True

							for i in range(1		,						s + 1):
														__UpperCamelCase			:     Any         =      False

							for i in range(1		,						n + 1):
														for j in range(1		,						s + 1):
																					__UpperCamelCase			:     str         =      dp[i][j - 1]

																					if arr[i - 1] <= j:
																												__UpperCamelCase			:     List[Any]         =      dp[i][j] or dp[i - 1][j - arr[i - 1]]

							for j in range(int(s / 2)		,						-1		,						-1):
														if dp[n][j] is True:
																					__UpperCamelCase			:     Tuple         =      s - 2 * j
																					break

							return diff

def 			_SCREAMING_SNAKE_CASE      (	_lowerCamelCase				:    int = 200)      ->					int:






							'''simple docstring'''





							__UpperCamelCase			:     Any         =      [1, 2, 5, 10, 20, 50, 100, 200]
							__UpperCamelCase			:     Any         =      [0] * (pence + 1)
							__UpperCamelCase			:     Union[str, Any]         =      1  # base case: 1 way to make 0 pence

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


if __name__ == "__main__":
		assert solution(200) == 73682