from __future__ import annotations






def _lowerCamelCase  (		snake_case     , snake_case     , snake_case  ):
							if len(snake_case  ) == 0:
														raise ValueError('find_max() arg is an empty sequence'  )
							if (
							    left >= len(snake_case  )
							    or left < -len(snake_case  )
							    or right >= len(snake_case  )
							    or right < -len(snake_case  )
							):
														raise IndexError('list index out of range'  )
							if left == right:
														return nums[left]
							_lowerCAmelCase							=							(left + right) >> 1  # the middle
							_lowerCAmelCase							=							find_max(snake_case     , snake_case     , snake_case  )  # find max in range[left, mid]
							_lowerCAmelCase							=							find_max(snake_case     , mid + 1     , snake_case  )  # find max in range[mid + 1, right]

							return left_max if left_max >= right_max else right_max


if __name__ == "__main__":
				import doctest

				doctest.testmod(verbose=True)







def _lowerCamelCase  (		snake_case  ):
							assert (
							    isinstance(snake_case     , snake_case  ) 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							=							1, 1
							for _ in range(number_of_steps - 1  ):
														_lowerCAmelCase			,		_lowerCAmelCase							=							current + previous, current
							return current


if __name__ == "__main__":
				import doctest

				doctest.testmod()






