





'''simple docstring'''


import string

# frequency taken from https://en.wikipedia.org/wiki/Letter_frequency
lowerCAmelCase :					List[Any] 							={
    '''E''': 12.70,
    '''T''': 9.06,
    '''A''': 8.17,
    '''O''': 7.51,
    '''I''': 6.97,
    '''N''': 6.75,
    '''S''': 6.33,
    '''H''': 6.09,
    '''R''': 5.99,
    '''D''': 4.25,
    '''L''': 4.03,
    '''C''': 2.78,
    '''U''': 2.76,
    '''M''': 2.41,
    '''W''': 2.36,
    '''F''': 2.23,
    '''G''': 2.02,
    '''Y''': 1.97,
    '''P''': 1.93,
    '''B''': 1.29,
    '''V''': 0.98,
    '''K''': 0.77,
    '''J''': 0.15,
    '''X''': 0.15,
    '''Q''': 0.10,
    '''Z''': 0.07,
}
lowerCAmelCase :					str 							='''ETAOINSHRDLCUMWFGYPBVKJXQZ'''
lowerCAmelCase :					Any 							='''ABCDEFGHIJKLMNOPQRSTUVWXYZ'''
def 							UpperCAmelCase_  (						__lowerCamelCase : str			):
   lowercase_      :Optional[Any]         =			{letter: 0 for letter in string.ascii_uppercase}
   for letter in message.upper():
      if letter in LETTERS:
         letter_count[letter] += 1

   return letter_count
def 							UpperCAmelCase_  (						__lowerCamelCase : int			):
   return x[0]
def 							UpperCAmelCase_  (						__lowerCamelCase : List[str]			):
   lowercase_      :List[str]         =			get_letter_count(__a			)
   lowercase_      :dict[int, list[str]]         =			{
       freq: [] for letter, freq in letter_to_freq.items()
   }
   for letter in LETTERS:
      freq_to_letter[letter_to_freq[letter]].append(__a			)

   lowercase_      :dict[int, str]         =			{}

   for freq in freq_to_letter:
      freq_to_letter[freq].sort(key=ETAOIN.find     ,reverse=__a			)
      lowercase_      :Tuple         =			''.join(freq_to_letter[freq]			)

   lowercase_      :Any         =			list(freq_to_letter_str.items()			)
   freq_pairs.sort(key=__a     ,reverse=__a			)

   lowercase_      :list[str]         =			[freq_pair[1] for freq_pair in freq_pairs]

   return "".join(__a			)
def 							UpperCAmelCase_  (						__lowerCamelCase : Optional[int]			):
   lowercase_      :int         =			get_frequency_order(__a			)
   lowercase_      :Optional[int]         =			0
   for common_letter in ETAOIN[:6]:
      if common_letter in freq_order[:6]:
         match_score += 1

   for uncommon_letter in ETAOIN[-6:]:
      if uncommon_letter in freq_order[-6:]:
         match_score += 1

   return match_score


if __name__ == "__main__":
 import doctest

 doctest.testmod()









'''simple docstring'''


import sys

lowerCAmelCase :					List[Any] 							=(
    '''73167176531330624919225119674426574742355349194934'''
    '''96983520312774506326239578318016984801869478851843'''
    '''85861560789112949495459501737958331952853208805511'''
    '''12540698747158523863050715693290963295227443043557'''
    '''66896648950445244523161731856403098711121722383113'''
    '''62229893423380308135336276614282806444486645238749'''
    '''30358907296290491560440772390713810515859307960866'''
    '''70172427121883998797908792274921901699720888093776'''
    '''65727333001053367881220235421809751254540594752243'''
    '''52584907711670556013604839586446706324415722155397'''
    '''53697817977846174064955149290862569321978468622482'''
    '''83972241375657056057490261407972968652414535100474'''
    '''82166370484403199890008895243450658541227588666881'''
    '''16427171479924442928230863465674813919123162824586'''
    '''17866458359124566529476545682848912883142607690042'''
    '''24219022671055626321111109370544217506941658960408'''
    '''07198403850962455444362981230987879927244284909188'''
    '''84580156166097919133875499200524063689912560717606'''
    '''05886116467109405077541002256983155200055935729725'''
    '''71636269561882670428252483600823257530420752963450'''
)
def 							UpperCAmelCase_  (						__lowerCamelCase : str			):
   lowercase_      :List[str]         =			1
   for digit in s:
      product *= int(__lowerCamelCase			)
   return product
def 							UpperCAmelCase_  (						__lowerCamelCase : str = N			):
   lowercase_      :Any         =			-sys.maxsize - 1
   lowercase_      :int         =			n[:13]
   lowercase_      :Optional[int]         =			13
   while cur_index < len(__lowerCamelCase			) - 13:
      if int(n[cur_index]			) >= int(substr[0]			):
         lowercase_      :str         =			substr[1:] + n[cur_index]
         cur_index += 1
      else:
         lowercase_      :List[str]         =			max(__lowerCamelCase     ,str_eval(__lowerCamelCase			)			)
         lowercase_      :Any         =			n[cur_index : cur_index + 13]
         cur_index += 13
   return largest_product


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


