



'''simple docstring'''

def 	__lowerCamelCase	( lowerCAmelCase_    )     -> int:
		_a	: list[list[int]]								=				[[0 for _ in range(lowerCAmelCase_    )] for _ in range(m + 1    )]
		for i in range(m + 1    ):
				_a	: List[Any]								=				1

		for n in range(m + 1    ):
				for k in range(1		,     lowerCAmelCase_    ):
						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 	__lowerCamelCase	( lowerCAmelCase_ = 1000000    )     -> int:
		_a	: Optional[int]								=				set(range(3		,     lowerCAmelCase_		,     2    )    )
		primes.add(2    )
		for p in range(3		,     lowerCAmelCase_		,     2    ):
				if p not in primes:
						continue
				primes.difference_update(set(range(p * p		,     lowerCAmelCase_		,     lowerCAmelCase_    )    )    )

		_a	: Tuple								=				[float(lowerCAmelCase_    ) for n in range(limit + 1    )]

		for p in primes:
				for n in range(lowerCAmelCase_		,     limit + 1		,     lowerCAmelCase_    ):
						phi[n] *= 1 - 1 / p

		return int(sum(phi[2:]    )    )


if __name__ == "__main__":
							print(f"""{solution() = }""")




