


from __future__ import annotations

import math
from collections import Counter
from string import ascii_lowercase






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




      """simple docstring"""

      snake_case_ =   analyze_text(__UpperCamelCase      )
      snake_case_ =   list(''' ''' + ascii_lowercase      )
      # what is our total sum of probabilities.
      snake_case_ =   sum(single_char_strings.values()      )

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

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

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

    # 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  __lowerCAmelCase					(SCREAMING_SNAKE_CASE      )->						Optional[int]:




      """simple docstring"""

      snake_case_ =   Counter()  # type: ignore
      snake_case_ =   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(__UpperCamelCase      ) - 1      ):
            single_char_strings[text[i]] += 1
            two_char_strings[text[i : i + 2]] += 1
      return single_char_strings, two_char_strings






def  __lowerCAmelCase					()->						str:




      """simple docstring"""

      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()



import requests






def  __lowerCAmelCase					(SCREAMING_SNAKE_CASE      ,      SCREAMING_SNAKE_CASE      )->						None:




      """simple docstring"""

      snake_case_ =   {'''Content-Type''': '''application/json'''}
      snake_case_ =   requests.post(SCREAMING_SNAKE_CASE      ,      json={'''text''': message_body}      ,      headers=SCREAMING_SNAKE_CASE      )
      if response.status_code != 200:
            snake_case_ =   (
                '''Request to slack returned an error '''
                f'''{response.status_code}, the response is:\n{response.text}'''
            )
            raise ValueError(SCREAMING_SNAKE_CASE      )


if __name__ == "__main__":
   # Set the slack url to the one provided by Slack when you create the webhook at
   # https://my.slack.com/services/new/incoming-webhook/
   send_slack_message("""<YOUR MESSAGE BODY>""", """<SLACK CHANNEL URL>""")