"""simple docstring"""


import math
from timeit import timeit





def       lowerCamelCase_			( __lowerCAmelCase    )							-> List[Any]:




						'''simple docstring'''



						lowerCamelCase__ =0
						lowerCamelCase__ =abs(lowercase_    )
						while True:
												lowerCamelCase__ =n // 10
												digits += 1
												if n == 0:
																		break
						return digits





def       lowerCamelCase_			( __lowerCAmelCase    )							-> str:




						'''simple docstring'''



						return 1 if n == 0 else math.floor(math.log(abs(lowercase_    )       ,   10    ) + 1    )





def       lowerCamelCase_			( __lowerCAmelCase    )							-> List[Any]:




						'''simple docstring'''



						return len(str(abs(lowercase_    )    )    )





def       lowerCamelCase_			( )							-> Any:




						'''simple docstring'''



						from collections.abc import Callable

						def benchmark_a_function(__lowerCAmelCase       ,   __lowerCAmelCase    ) -> None:
												lowerCamelCase__ =F'''{func.__name__}({value})'''
												lowerCamelCase__ =timeit(F'''__main__.{call}'''       ,   setup="import __main__"    )
												print(F'''{call}: {func(lowercase_    )} -- {timing} seconds'''    )

						for value in (26_2144, 1125_8999_0684_2624, 126_7650_6002_2822_9401_4967_0320_5376):
												for func in (num_digits, num_digits_fast, num_digits_faster):
																		benchmark_a_function(lowercase_       ,   lowercase_    )
												print()


if __name__ == "__main__":
	import doctest

	doctest.testmod()
	benchmark()



"""simple docstring"""


from __future__ import annotations





def       lowerCamelCase_			( __lowerCAmelCase    )							-> int | float:




						'''simple docstring'''



						lowerCamelCase__ =sorted(__lowerCAmelCase    )
						lowerCamelCase__ =len(__lowerCAmelCase    )
						lowerCamelCase__ =length >> 1
						return (
						    (sorted_list[mid_index] + sorted_list[mid_index - 1]) / 2
						    if length % 2 == 0
						    else sorted_list[mid_index]
						)





def       lowerCamelCase_			( )							-> Tuple:




						'''simple docstring'''



						import doctest

						doctest.testmod()


if __name__ == "__main__":
	main()


