
'''simple docstring'''

class       A   :





	def __init__(    self	:				Union[str, Any]					,							__magic_name__	:				Optional[int]							):


				"""simple docstring"""

				lowerCAmelCase__									=							data
				lowerCAmelCase__									=							42
				lowerCAmelCase__									=							42







def      A   (					UpperCamelCase_    :   Node					)    ->				None:







			'''simple docstring'''



			lowerCAmelCase__									=							0
			lowerCAmelCase__									=							x







def      A   (					UpperCamelCase_    :   Node  ,		UpperCamelCase_    :   Node					)    ->				None:







			'''simple docstring'''



			lowerCAmelCase__		,lowerCAmelCase__									=							find_set(UpperCamelCase_					), find_set(UpperCamelCase_					)
			if x == y:
						return

			elif x.rank > y.rank:
						lowerCAmelCase__									=							x
			else:
						lowerCAmelCase__									=							y
						if x.rank == y.rank:
									y.rank += 1







def      A   (					UpperCamelCase_    :   Node					)    ->				Node:







			'''simple docstring'''



			if x != x.parent:
						lowerCAmelCase__									=							find_set(x.parent					)
			return x.parent







def      A   (					UpperCamelCase_    :   Node					)    ->				set:







			'''simple docstring'''



			lowerCAmelCase__									=							({0, 1, 2}, {3, 4, 5})
			for s in sets:
						if node.data in s:
									return s
			lowerCAmelCase__									=							F"""{node.data} is not in {sets}"""
			raise ValueError(UpperCamelCase_					)







def      A   (					)    ->				None:







			'''simple docstring'''



			lowerCAmelCase__									=							[Node(UpperCamelCase_					) for i in range(6					)]
			for v in vertex:
						make_set(UpperCamelCase_					)

			union_set(vertex[0]  ,		vertex[1]					)
			union_set(vertex[1]  ,		vertex[2]					)
			union_set(vertex[3]  ,		vertex[4]					)
			union_set(vertex[3]  ,		vertex[5]					)

			for nodea in vertex:
						for nodea in vertex:
									if find_python_set(UpperCamelCase_					).isdisjoint(find_python_set(UpperCamelCase_					)					):
												assert find_set(UpperCamelCase_					) != find_set(UpperCamelCase_					)
									else:
												assert find_set(UpperCamelCase_					) == find_set(UpperCamelCase_					)


if __name__ == "__main__":
		test_disjoint_set()












"""simple docstring"""


A_     :      Dict								=1_0**8





def SCREAMING_SNAKE_CASE_   (       snake_case   :					int		)->		bool:
       if n % 10 == 0:
              return False
       _lowerCamelCase    	=					str(snake_case		)
       return s == s[::-1]





def SCREAMING_SNAKE_CASE_   (       )->		int:
       _lowerCamelCase    	=					set()
       _lowerCamelCase    	=					1
       _lowerCamelCase    	=					5
       while sum_squares < LIMIT:
              _lowerCamelCase    	=					first_square + 1
              while sum_squares < LIMIT:
                     if is_palindrome(snake_case		):
                            answer.add(snake_case		)
                     last_square += 1
                     sum_squares += last_square**2
              first_square += 1
              _lowerCamelCase    	=					first_square**2 + (first_square + 1) ** 2

       return sum(snake_case		)


if __name__ == "__main__":
      print(solution())






