def 							lowerCAmelCase(     __lowerCamelCase				,    __lowerCamelCase						):
					__a		 =       [0 for i in range(r + 1						)]
					# nc0 = 1
					__a		 =       1
					for i in range(1				,    n + 1						):
										# to compute current row from previous row.
										__a		 =       min(__lowerCamelCase				,    __lowerCamelCase						)
										while j > 0:
															c[j] += c[j - 1]
															j -= 1
					return c[r]



print(binomial_coefficient(n=10, r=5))





def 							lowerCAmelCase(     __lowerCamelCase				,    __lowerCamelCase				,    __lowerCamelCase				,    __lowerCamelCase						):
					# Return True if there is node that has not iterated.
					__a		 =       [False] * len(__lowerCamelCase						)
					__a		 =       []
					queue.append(__lowerCamelCase						)
					__a		 =       True

					while queue:
										__a		 =       queue.pop(0						)
										for ind in range(len(graph[u]						)						):
															if visited[ind] is False and graph[u][ind] > 0:
																				queue.append(__lowerCamelCase						)
																				__a		 =       True
																				__a		 =       u

					return visited[t]
def 							lowerCAmelCase(     __lowerCamelCase				,    __lowerCamelCase				,    __lowerCamelCase						):
					# This array is filled by BFS and to store path
					__a		 =       [-1] * (len(__lowerCamelCase						))
					__a		 =       0
					while bfs(__lowerCamelCase				,    __lowerCamelCase				,    __lowerCamelCase				,    __lowerCamelCase						):
										__a		 =       float('Inf'						)
										__a		 =       sink

										while s != source:
															# Find the minimum value in select path
															__a		 =       min(__lowerCamelCase				,    graph[parent[s]][s]						)
															__a		 =       parent[s]

										max_flow += path_flow
										__a		 =       sink

										while v != source:
															__a		 =       parent[v]
															graph[u][v] -= path_flow
															graph[v][u] += path_flow
															__a		 =       parent[v]
					return max_flow


lowerCamelCase_    :		str							=	[
    [0, 16, 13, 0, 0, 0],
    [0, 0, 10, 12, 0, 0],
    [0, 4, 0, 0, 14, 0],
    [0, 0, 9, 0, 0, 20],
    [0, 0, 0, 7, 0, 4],
    [0, 0, 0, 0, 0, 0],
]

lowerCamelCase_						,  lowerCamelCase_    :		Union[str, Any]							=	0, 5



print(ford_fulkerson(graph, source, sink))




