import math
def 							lowerCAmelCase(     __lowerCamelCase						):

					if 1 < number < 4:
										# 2 and 3 are primes
										return True
					elif number < 2 or number % 2 == 0 or number % 3 == 0:
										# Negatives, 0, 1, all even numbers, all multiples of 3 are not primes
										return False

					# All primes number are in format of 6k +/- 1
					for i in range(5				,    int(math.sqrt(__lowerCamelCase						) + 1						)				,    6						):
										if number % i == 0 or number % (i + 2) == 0:
															return False
					return True
def 							lowerCAmelCase(     __lowerCamelCase = 0.1						):
					__a		 =       3
					__a		 =       3

					while primes / (2 * j - 1) >= ratio:
										for i in range(j * j + j + 1				,    (j + 2) * (j + 2)				,    j + 1						):
															primes += is_prime(__lowerCamelCase						)
										j += 2
					return j


if __name__ == "__main__":
	import doctest

	doctest.testmod()





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))




