
# 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.



def        UpperCamelCase    (							lowerCAmelCase__		):
					'''simple docstring'''
					lowercase							=						[False] * len(lowerCAmelCase__		)
					lowercase							=						[-1] * len(lowerCAmelCase__		)

					def dfs(lowerCAmelCase__ ,			lowerCAmelCase__		):
										lowercase							=						True
										lowercase							=						c
										for u in graph[v]:
															if not visited[u]:
																				dfs(lowerCAmelCase__ ,			1 - c		)

					for i in range(len(lowerCAmelCase__		)		):
										if not visited[i]:
															dfs(lowerCAmelCase__ ,			0		)

					for i in range(len(lowerCAmelCase__		)		):
										for j in graph[i]:
															if color[i] == color[j]:
																				return False

					return True


# Adjacency list of graph
lowercase__		:Union[str, Any]   =    {0: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2], 4: []}
print(check_bipartite_dfs(graph))






def        UpperCamelCase    (							lowerCAmelCase__		):
					'''simple docstring'''

					if edge <= 0 or not isinstance(lowerCAmelCase__ ,			lowerCAmelCase__		):
										raise ValueError('''Length must be a positive.'''		)
					return 3 * ((25 + 10 * (5 ** (1 / 2))) ** (1 / 2)) * (edge**2)



def        UpperCamelCase    (							lowerCAmelCase__		):
					'''simple docstring'''

					if edge <= 0 or not isinstance(lowerCAmelCase__ ,			lowerCAmelCase__		):
										raise ValueError('''Length must be a positive.'''		)
					return ((15 + (7 * (5 ** (1 / 2)))) / 4) * (edge**3)


if __name__ == "__main__":
							import doctest

							doctest.testmod()




