





'''simple docstring'''






def      __A						(							a_						:  int	):
		lowerCAmelCase     :    list[list[int]]						=   [[0 for _ in range(a_	)] for _ in range(m + 1	)]
		for i in range(m + 1	):
				lowerCAmelCase     :    List[Any]						=   1

		for n in range(m + 1	):
				for k in range(1      ,a_	):
						memo[n][k] += memo[n][k - 1]
						if n - k > 0:
								memo[n][k] += memo[n - k - 1][k]

		return memo[m][m - 1]


if __name__ == "__main__":
					import sys

					if len(sys.argv) == 1:
										try:
															lowerCAmelCase       		=      int(input("""Enter a number: """).strip())
															print(partition(n))
										except ValueError:
															print("""Please enter a number.""")
					else:
										try:
															lowerCAmelCase       		=      int(sys.argv[1])
															print(partition(n))
										except ValueError:
															print("""Please pass a number.""")










'''simple docstring'''






def      __A						(							a_						:  int	):
		assert (
		    isinstance(a_      ,a_	) and number_of_steps > 0
		), f'''number_of_steps needs to be positive integer, your input {number_of_steps}'''
		if number_of_steps == 1:
				return 1
		lowerCAmelCase	,		lowerCAmelCase     :    int						=   1, 1
		for _ in range(number_of_steps - 1	):
				lowerCAmelCase	,		lowerCAmelCase     :    Union[str, Any]						=   current + previous, current
		return current


if __name__ == "__main__":
					import doctest

					doctest.testmod()



