
"""simple docstring"""




def        _lowerCamelCase ( __a,							__a,							__a    ):

		'''simple docstring'''





		def count_of_possible_combinations(__a    ) -> int:
				if target < 0:
						return 0
				if target == 0:
						return 1
				return sum(count_of_possible_combinations(target - item    ) for item in array    )

		return count_of_possible_combinations(__a    )



def        _lowerCamelCase ( __a,							__a,							__a    ):

		'''simple docstring'''





		def count_of_possible_combinations_with_dp_array(
		    __a,							__a    ) -> int:
				if target < 0:
						return 0
				if target == 0:
						return 1
				if dp_array[target] != -1:
						return dp_array[target]
				SCREAMING_SNAKE_CASE_						 = sum(
				    count_of_possible_combinations_with_dp_array(target - item,							__a    )
				    for item in array    )
				SCREAMING_SNAKE_CASE_						 = answer
				return answer

		SCREAMING_SNAKE_CASE_						 = [-1] * (target + 1)
		return count_of_possible_combinations_with_dp_array(__a,							__a    )



def        _lowerCamelCase ( __a,							__a,							__a    ):

		'''simple docstring'''





		SCREAMING_SNAKE_CASE_						 = [0] * (target + 1)
		SCREAMING_SNAKE_CASE_						 = 1

		for i in range(1,							target + 1    ):
				for j in range(__a    ):
						if i - array[j] >= 0:
								dp_array[i] += dp_array[i - array[j]]

		return dp_array[target]


if __name__ == "__main__":
						import doctest

						doctest.testmod()
						lowerCAmelCase__							=				3
						lowerCAmelCase__							=				5
						lowerCAmelCase__							=				[1, 2, 5]
						print(combination_sum_iv(n, array, target))

"""simple docstring"""




def        _lowerCamelCase ( __a    ):

		if not isinstance(__a,							__a    ):
				SCREAMING_SNAKE_CASE_						 = F'Input value of [number={number}] must be an integer'
				raise TypeError(__a    )

		if number < 1:
				SCREAMING_SNAKE_CASE_						 = F'Input value of [number={number}] must be > 0'
				raise ValueError(__a    )

		SCREAMING_SNAKE_CASE_						 = 1

		for i in range(1,							__a    ):
				current_number *= 4 * i - 2
				current_number //= i + 1

		return current_number


if __name__ == "__main__":
						import doctest

						doctest.testmod()