
from .hash_table import HashTable
from .number_theory.prime_numbers import is_prime, next_prime





class   __UpperCamelCase				(    lowerCAmelCase__   ):






     """simple docstring"""







     def __init__(							self    :    Optional[Any]      ,		*_A    :    str      ,		**_A    :    str				):







       """simple docstring"""




       super().__init__(*_A      ,		**_A				)



     def 				UpperCAmelCase__    (							self    :    int      ,		_A    :    Optional[Any]      ,		_A    :    List[str]				):







       """simple docstring"""




       __SCREAMING_SNAKE_CASE     :					Optional[int]			=						(
           next_prime(value % self.size_table				)
           if not is_prime(value % self.size_table				)
           else value % self.size_table
       )  # gt = bigger than
       return next_prime_gt - (data % next_prime_gt)



     def 				UpperCAmelCase__    (							self    :    Dict      ,		_A    :    Tuple      ,		_A    :    int      ,		_A    :    Dict				):







       """simple docstring"""




       return (increment * self.__hash_function_a(_A      ,		_A				)) % self.size_table




     def 				UpperCAmelCase__    (							self    :    int      ,		_A    :    Optional[int]      ,		_A    :    Optional[int]=None				):







       """simple docstring"""




       __SCREAMING_SNAKE_CASE     :					Tuple			=						1
       __SCREAMING_SNAKE_CASE     :					Union[str, Any]			=						self.hash_function(_A				)

       while self.values[new_key] is not None and self.values[new_key] != key:
         __SCREAMING_SNAKE_CASE     :					int			=						(
             self.__hash_double_function(_A      ,		_A      ,		_A				)
             if self.balanced_factor() >= self.lim_charge
             else None
         )
         if new_key is None:
           break
         else:
           i += 1

       return new_key


from collections import defaultdict


def     a__			(    snake_case    ):





  """simple docstring"""
  __SCREAMING_SNAKE_CASE     :					defaultdict[str, int]			=						defaultdict(snake_case    )
  # Creating a dictionary containing count of each word
  for word in sentence.split():
    occurrence[word] += 1
  return occurrence


if __name__ == "__main__":
   for word, count in word_occurrence("""INPUT STRING""").items():
      print(f'''{word}: {count}''')
