

'''simple docstring'''







import re






def 					_SCREAMING_SNAKE_CASE		(						snake_case_	):
	def docstring_decorator(snake_case_	):
		_lowercase							=     fn.__doc__
		_lowercase							=     func_doc.split("""\n"""	)
		_lowercase							=     0
		while i < len(snake_case_	) and re.search(r"""^\s*Examples?:\s*$"""							,       lines[i]	) is None:
			i += 1
		if i < len(snake_case_	):
			_lowercase							=     example_docstring
			_lowercase							=     """\n""".join(snake_case_	)
		else:
			raise ValueError(
			    F"""The function {fn} should have an empty 'Examples:' in its docstring as placeholder, """
			    F"""current docstring is:\n{func_doc}"""	)
		_lowercase							=     func_doc
		return fn

	return docstring_decorator







'''simple docstring'''







from __future__ import annotations

from collections.abc import Generator






def 					_SCREAMING_SNAKE_CASE		(						snake_case_	):
	if not isinstance(snake_case_							,       snake_case_	) or n < 1:
		raise Exception("""Sequence only defined for positive integers"""	)

	yield n
	while n != 1:
		if n % 2 == 0:
			n //= 2
		else:
			_lowercase							=     3 * n + 1
		yield n






def 					_SCREAMING_SNAKE_CASE		(						):
	_lowercase							=     43
	_lowercase							=     tuple(collatz_sequence(snake_case_	)	)
	print(snake_case_	)
	print(F"""Collatz sequence from {n} took {len(snake_case_	)} steps."""	)


if __name__ == "__main__":
							main()




