




'''simple docstring'''

def __UpperCAmelCase	(   _UpperCAmelCase		:   list[int]		,				_UpperCAmelCase		:   int						)      ->      bool:
			__snake_case			=		len(_UpperCAmelCase						)
			__snake_case			=		[[False] * (required_sum + 1) for _ in range(arr_len + 1						)]

			# for each arr value, a sum of zero(0) can be formed by not taking any element
			# hence True/1
			for i in range(arr_len + 1						):
						__snake_case			=		True

			# sum is not zero and set is empty then false
			for i in range(1		,				required_sum + 1						):
						__snake_case			=		False

			for i in range(1		,				arr_len + 1						):
						for j in range(1		,				required_sum + 1						):
									if arr[i - 1] > j:
												__snake_case			=		subset[i - 1][j]
									if arr[i - 1] <= j:
												__snake_case			=		subset[i - 1][j] or subset[i - 1][j - arr[i - 1]]

			return subset[arr_len][required_sum]


if __name__ == "__main__":
						import doctest

						doctest.testmod()












'''simple docstring'''






def   UpperCamelCase__ (						lowerCAmelCase				,      lowerCAmelCase    ):





      """simple docstring"""


      _lowerCAmelCase					=				""""""
      for word_or_phrase in separated:
            if not isinstance(lowerCAmelCase				,      lowerCAmelCase    ):
                  raise Exception("""join() accepts only strings to be joined"""    )
            joined += word_or_phrase + separator
      return joined.strip(lowerCAmelCase    )


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

      testmod()






