

"""simple docstring"""






def    UpperCamelCase       (      _lowerCAmelCase  :    List[Any]			)					->      Tuple:
	_UpperCAmelCase     :				Any          =       int(A_			)
	if decimal in (0, 1):  # Exit cases for the recursion
		return str(A_			)
	_UpperCAmelCase     :				Any          =       divmod(A_,	2			)
	return binary_recursive(A_			) + str(A_			)
def    UpperCamelCase       (      _lowerCAmelCase  :    Any			)					->      Tuple:
	_UpperCAmelCase     :				Union[str, Any]          =       str(A_			).strip()
	if not number:
		raise ValueError("""No input value was provided"""			)
	_UpperCAmelCase     :				Any          =       '''-''' if number.startswith("""-"""			) else ''''''
	_UpperCAmelCase     :				Dict          =       number.lstrip("""-"""			)
	if not number.isnumeric():
		raise ValueError("""Input value is not an integer"""			)
	return f'''{negative}0b{binary_recursive(int(A_			)			)}'''


if __name__ == "__main__":
						from doctest import testmod

						testmod()








"""simple docstring"""





from __future__ import annotations

import math
from collections import Counter
from string import ascii_lowercase

def     __SCREAMING_SNAKE_CASE    ( A_					):
	lowerCAmelCase__							,lowerCAmelCase__      :		Dict    							=      analyze_text(A_					)
	lowerCAmelCase__      :		Any    							=      list(''' ''' + ascii_lowercase					)
	# what is our total sum of probabilities.
	lowerCAmelCase__      :		Optional[Any]    							=      sum(single_char_strings.values()					)

	# one length string
	lowerCAmelCase__      :		int    							=      0
	# for each alpha we go in our dict and if it is in it we calculate entropy
	for ch in my_alphas:
		if ch in single_char_strings:
			lowerCAmelCase__      :		Union[str, Any]    							=      single_char_strings[ch]
			lowerCAmelCase__      :		Dict    							=      my_str / all_sum
			my_fir_sum += prob * math.loga(A_					)  # entropy formula.

    # print entropy
	print(f'{round(-1 * my_fir_sum					):.1f}'					)

	# two len string
	lowerCAmelCase__      :		List[Any]    							=      sum(two_char_strings.values()					)
	lowerCAmelCase__      :		Optional[int]    							=      0
	# for each alpha (two in size) calculate entropy.
	for cha in my_alphas:
		for cha in my_alphas:
			lowerCAmelCase__      :		int    							=      cha + cha
			if sequence in two_char_strings:
				lowerCAmelCase__      :		Optional[Any]    							=      two_char_strings[sequence]
				lowerCAmelCase__      :		int    							=      int(A_					) / all_sum
				my_sec_sum += prob * math.loga(A_					)

    # print second entropy
	print(f'{round(-1 * my_sec_sum					):.1f}'					)

	# print the difference between them
	print(f'{round((-1 * my_sec_sum) - (-1 * my_fir_sum)					):.1f}'					)

def     __SCREAMING_SNAKE_CASE    ( A_					):
	lowerCAmelCase__      :		List[str]    							=      Counter()  # type: ignore
	lowerCAmelCase__      :		Optional[int]    							=      Counter()  # type: ignore
	single_char_strings[text[-1]] += 1

	# first case when we have space at start.
	two_char_strings[" " + text[0]] += 1
	for i in range(0		,	len(A_					) - 1					):
		single_char_strings[text[i]] += 1
		two_char_strings[text[i : i + 2]] += 1
	return single_char_strings, two_char_strings

def     __SCREAMING_SNAKE_CASE    ( ):
	import doctest

	doctest.testmod()
	# text = (
	#     "Had repulsive dashwoods suspicion sincerity but advantage now him. Remark "
	#     "easily garret nor nay. Civil those mrs enjoy shy fat merry. You greatest "
	#     "jointure saw horrible. He private he on be imagine suppose. Fertile "
	#     "beloved evident through no service elderly is. Blind there if every no so "
	#     "at. Own neglected you preferred way sincerity delivered his attempted. To "
	#     "of message cottage windows do besides against uncivil.  Delightful "
	#     "unreserved impossible few estimating men favourable see entreaties. She "
	#     "propriety immediate was improving. He or entrance humoured likewise "
	#     "moderate. Much nor game son say feel. Fat make met can must form into "
	#     "gate. Me we offending prevailed discovery. "
	# )

	# calculate_prob(text)


if __name__ == "__main__":
							main()




