

from math import factorial






def        UpperCamelCase_(							_snake_case   :  int       ,     _snake_case   :  int	):




			"""simple docstring"""






			if n < k or k < 0:
						raise ValueError('Please enter positive integers for n and k where n >= k'	)
			return factorial(_snake_case	) // (factorial(_snake_case	) * factorial(n - k	))


if __name__ == "__main__":
						print(
						    "The number of five-card hands possible from a standard",
						    f'''fifty-two card deck is: {combinations(52, 5)}\n''',
						)

						print(
						    "If a class of 40 students must be arranged into groups of",
						    f'''4 for group projects, there are {combinations(40, 4)} ways''',
						    "to arrange them.\n",
						)

						print(
						    "If 10 teams are competing in a Formula One race, there",
						    f'''are {combinations(10, 3)} ways that first, second and''',
						    "third place can be awarded.",
						)









# 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_(							_snake_case   :  Tuple	):




			"""simple docstring"""






			__a        =[False] * len(_snake_case	)
			__a        =[-1] * len(_snake_case	)

			def dfs(_snake_case   :  Dict       ,     _snake_case   :  Any	):
						__a        =True
						__a        =c
						for u in graph[v]:
									if not visited[u]:
												dfs(_snake_case       ,     1 - c	)

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

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

			return True


# Adjacency list of graph
_lowerCAmelCase					:			int  				=			{0: [1, 3], 1: [0, 2], 2: [1, 3], 3: [0, 2], 4: []}


print(check_bipartite_dfs(graph))






