



'''simple docstring'''
from __future__ import annotations



class _A	:





		def __init__(  self			,							__UpperCAmelCase					)							->  None:

					'''simple docstring'''
					__UpperCAmelCase :   int    					=  data
					__UpperCAmelCase :   Optional[Any]    					=  None



class _A	:





		def __init__(  self					)							->  List[str]:

					'''simple docstring'''
					__UpperCAmelCase :   Optional[Any]    					=  None





		def 				__A							(  self			,							__UpperCAmelCase					)							->  int:

					'''simple docstring'''
					__UpperCAmelCase :   Union[str, Any]    					=  Node(__UpperCAmelCase					)
					__UpperCAmelCase :   Any    					=  self.head
					__UpperCAmelCase :   List[str]    					=  new_node
					return self.head.data





		def 				__A							(  self					)							->  int | None:

					'''simple docstring'''
					__UpperCAmelCase :   Optional[int]    					=  self.head
					__UpperCAmelCase :   Optional[Any]    					=  self.head
					if self.head:
								while fast_pointer and fast_pointer.next:
											__UpperCAmelCase :   Optional[int]    					=  fast_pointer.next.next
											__UpperCAmelCase :   str    					=  slow_pointer.next
								return slow_pointer.data
					else:
								print("""No element found."""					)
								return None


if __name__ == "__main__":
					_UpperCamelCase									=      LinkedList()
					for _ in range(int(input().strip())):
										_UpperCamelCase									=      int(input().strip())
										link.push(data)
					print(link.middle_element())









'''simple docstring'''
from .hash_table import HashTable



class _A	(     __SCREAMING_SNAKE_CASE     ):





		def __init__(  self			,							*__UpperCAmelCase			,							**__UpperCAmelCase					)							->  List[Any]:

					'''simple docstring'''
					super().__init__(*__UpperCAmelCase			,							**__UpperCAmelCase					)





		def 				__A							(  self			,							__UpperCAmelCase			,							__UpperCAmelCase=None					)							->  str:

					'''simple docstring'''
					__UpperCAmelCase :   List[str]    					=  1
					__UpperCAmelCase :   Optional[Any]    					=  self.hash_function(key + i * i					)

					while self.values[new_key] is not None and self.values[new_key] != key:
								i += 1
								__UpperCAmelCase :   str    					=  (
								    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




