

'''simple docstring'''







from __future__ import annotations

import math
from collections import Counter
from string import ascii_lowercase
def       UpperCAmelCase__    (      UpperCAmelCase__				)			->			Tuple:
       A_					,			A_						=      analyze_text(_snake_case				)
       A_						=      list(""" """ + ascii_lowercase				)
       # what is our total sum of probabilities.
       A_						=      sum(single_char_strings.values()				)

       # one length string
       A_						=      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:
                     A_						=      single_char_strings[ch]
                     A_						=      my_str / all_sum
                     my_fir_sum += prob * math.loga(_snake_case				)  # entropy formula.

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

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

    # 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       UpperCAmelCase__    (      UpperCAmelCase__				)			->			Union[str, Any]:
       A_						=      Counter()  # type: ignore
       A_						=      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(_snake_case				) - 1				):
              single_char_strings[text[i]] += 1
              two_char_strings[text[i : i + 2]] += 1
       return single_char_strings, two_char_strings
def       UpperCAmelCase__    (      )			->			Optional[int]:
       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()



'''simple docstring'''







from __future__ import annotations

import math
def       UpperCAmelCase__    (      UpperCAmelCase__				)			->			bool:

       if 1 < number < 4:
              # 2 and 3 are primes
              return True
       elif number < 2 or number % 2 == 0 or number % 3 == 0:
              # Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
              return False

       # All primes number are in format of 6k +/- 1
       for i in range(5,       int(math.sqrt(UpperCAmelCase__				) + 1				),       6				):
              if number % i == 0 or number % (i + 2) == 0:
                     return False
       return True


__lowerCamelCase		       =    [num for num in range(3, 10_0001, 2) if not is_prime(num)]
def       UpperCAmelCase__    (      UpperCAmelCase__				)			->			list[int]:
       if not isinstance(UpperCAmelCase__,       UpperCAmelCase__				):
              raise ValueError("""n must be an integer"""				)
       if n <= 0:
              raise ValueError("""n must be >= 0"""				)

       A_						=      []
       for num in range(len(UpperCAmelCase__				)				):
              A_						=      0
              while 2 * i * i <= odd_composites[num]:
                     A_						=      odd_composites[num] - 2 * i * i
                     if is_prime(UpperCAmelCase__				):
                            break
                     i += 1
              else:
                     list_nums.append(odd_composites[num]				)
                     if len(UpperCAmelCase__				) == n:
                            return list_nums

       return []
def       UpperCAmelCase__    (      )			->			int:
       return compute_nums(1				)[0]


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