



class    __lowerCAmelCase					:




				def __init__(				self		,							_snake_case						):



									"""simple docstring"""





									_lowerCAmelCase         =       data
									_lowerCAmelCase         =       42
									_lowerCAmelCase         =       42


def 						_UpperCAmelCase							( snake_case     ):





					"""simple docstring"""

					_lowerCAmelCase         =       0
					_lowerCAmelCase         =       x


def 						_UpperCAmelCase							( snake_case      ,		snake_case     ):





					"""simple docstring"""

					_lowerCAmelCase      ,      _lowerCAmelCase         =       find_set(snake_case     ), find_set(snake_case     )
					if x == y:
										return

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


def 						_UpperCAmelCase							( snake_case     ):





					"""simple docstring"""

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


def 						_UpperCAmelCase							( snake_case     ):





					"""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(snake_case     )


def 						_UpperCAmelCase							( ):





					"""simple docstring"""

					_lowerCAmelCase         =       [Node(snake_case     ) for i in range(6     )]
					for v in vertex:
										make_set(snake_case     )

					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(snake_case     ).isdisjoint(find_python_set(snake_case     )     ):
																				assert find_set(snake_case     ) != find_set(snake_case     )
															else:
																				assert find_set(snake_case     ) == find_set(snake_case     )


if __name__ == "__main__":
	test_disjoint_set()










def   _SCREAMING_SNAKE_CASE      (	snake_case_		:						int						):
     if not isinstance(snake_case_ ,     snake_case_						):
          __magic_name__				=       f'Input value of [number={number}] must be an integer'
          raise TypeError(snake_case_						)
     if number < 0 or number % 2 == 1:
          return False
     __magic_name__				=       int(number**0.5						)
     return number == number_sqrt * (number_sqrt + 1)


if __name__ == "__main__":
    import doctest

    doctest.testmod()