


"""simple docstring"""



# A Bipartite Graph is a graph whose vertices can be divided into two independent sets,
# U and V such that every edge (u, v) either connects a vertex from U to V or a vertex
# from V to U. In other words, for every edge (u, v), either u belongs to U and v to V,
# or u belongs to V and v to U. We can also say that there is no edge that connects
# vertices of same set.
from queue import Queue
def     UpperCAmelCase    (					_lowercase   :      Optional[Any]  )	->   List[Any]:


	"""simple docstring"""




	lowerCAmelCase_			       = Queue()
	lowerCAmelCase_			       = [False] * len(_lowercase  )
	lowerCAmelCase_			       = [-1] * len(_lowercase  )

	def bfs():
		while not queue.empty():
			lowerCAmelCase_			       = queue.get()
			lowerCAmelCase_			       = True

			for neighbour in graph[u]:
				if neighbour == u:
					return False

				if color[neighbour] == -1:
					lowerCAmelCase_			       = 1 - color[u]
					queue.put(_lowercase  )

				elif color[neighbour] == color[u]:
					return False

		return True

	for i in range(len(_lowercase  )  ):
		if not visited[i]:
			queue.put(_lowercase  )
			lowerCAmelCase_			       = 0
			if bfs() is False:
				return False

	return True


if __name__ == "__main__":
		# Adjacency List of graph
		print(check_bipartite({0: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2]}))



"""simple docstring"""



lowercase_							 =       [0.485, 0.456, 0.406]
lowercase_							 =       [0.229, 0.224, 0.225]
lowercase_							 =       [0.5, 0.5, 0.5]
lowercase_							 =       [0.5, 0.5, 0.5]
lowercase_							 =       [0.4814_5466, 0.457_8275, 0.4082_1073]
lowercase_							 =       [0.2686_2954, 0.2613_0258, 0.2757_7711]