
"""simple docstring"""





def 			__a  (	__lowerCamelCase						):
			UpperCAmelCase_      :      str      =					5381
			for x in s:
						UpperCAmelCase_      :      Optional[Any]      =					((hash_value << 5) + hash_value) + ord(__lowerCamelCase						)
			return hash_value & 0Xffff_ffff




"""simple docstring"""





from .hash_table import HashTable


class A_			(lowercase__   ):




  '''simple docstring'''







  def __init__(	self       ,     *lowercase_       ,     **lowercase_						):

     """simple docstring"""
     super().__init__(*lowercase_       ,     **lowercase_						)







  def  UpperCamelCase__      (	self       ,     lowercase_       ,     lowercase_=None						):

     """simple docstring"""
     UpperCAmelCase_      :      Tuple      =					1
     UpperCAmelCase_      :      List[str]      =					self.hash_function(key + i * i						)

     while self.values[new_key] is not None and self.values[new_key] != key:
        i += 1
        UpperCAmelCase_      :      List[Any]      =					(
            self.hash_function(key + i * i						)
            if not self.balanced_factor() >= self.lim_charge
            else None
        )

        if new_key is None:
           break

     return new_key


