

def 		UpperCamelCase      (lowercase_:				list[int]					,   lowercase_:				list[int]					,   lowercase_:				int      )  ->   bool:
	return not any(
	    neighbour == 1 and colored_vertices[i] == color
	    for i, neighbour in enumerate(lowercase_      )      )

def 		UpperCamelCase      (lowercase_:				list[list[int]]					,   lowercase_:				int					,   lowercase_:				list[int]					,   lowercase_:				int      )  ->   bool:

	# Base Case
	if index == len(lowercase_      ):
		return True

	# Recursive Step
	for i in range(lowercase_      ):
		if valid_coloring(graph[index]					,   lowercase_					,   lowercase_      ):
			# Color current vertex
			A__							:					Optional[Any]       =	i
			# Validate coloring
			if util_color(lowercase_					,   lowercase_					,   lowercase_					,   index + 1      ):
				return True
			# Backtrack
			A__							:					str       =	-1
	return False


def 		UpperCamelCase      (lowercase_:				list[list[int]]					,   lowercase_:				int      )  ->   list[int]:
	A__							:					Dict       =	[-1] * len(lowercase_      )

	if util_color(lowercase_					,   lowercase_					,   lowercase_					,   0      ):
		return colored_vertices

	return []






from functools import lru_cache

@lru_cache
def 		UpperCamelCase      (lowercase_:				int      )  ->   int:
	if num < 0:
		raise ValueError("""Number should not be negative."""      )

	return 1 if num in (0, 1) else num * factorial(num - 1      )


if __name__ == "__main__":
	import doctest

	doctest.testmod()



