



"""simple docstring"""







lowercase__		:    List[Any]				   =     [
    [0, 1_6, 1_3, 0, 0, 0],
    [0, 0, 1_0, 1_2, 0, 0],
    [0, 4, 0, 0, 1_4, 0],
    [0, 0, 9, 0, 0, 2_0],
    [0, 0, 0, 7, 0, 4],
    [0, 0, 0, 0, 0, 0],
]

def     UpperCamelCase_   (   lowerCAmelCase__				:    int   ,       lowerCAmelCase__				:    Optional[Any]   ,       lowerCAmelCase__				:    Any   ,       lowerCAmelCase__				:    List[Any]						)						->       str:

  """simple docstring"""




  lowerCAmelCase_       :    Tuple								=			[False] * len(lowerCAmelCase__						)
  lowerCAmelCase_       :    Union[str, Any]								=			[s]
  lowerCAmelCase_       :    List[Any]								=			True

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

  return visited[t]

def     UpperCamelCase_   (   lowerCAmelCase__				:    Optional[int]   ,       lowerCAmelCase__				:    List[Any]   ,       lowerCAmelCase__				:    Tuple						)						->       Optional[int]:

  """simple docstring"""




  lowerCAmelCase_       :    Any								=			[-1] * (len(lowerCAmelCase__						))
  lowerCAmelCase_       :    List[str]								=			0
  lowerCAmelCase_       :    Dict								=			[]
  lowerCAmelCase_       :    List[Any]								=			[i[:] for i in graph]  # Record original cut, copy.
  while bfs(lowerCAmelCase__   ,       lowerCAmelCase__   ,       lowerCAmelCase__   ,       lowerCAmelCase__						):
    lowerCAmelCase_       :    List[Any]								=			float('Inf'						)
    lowerCAmelCase_       :    List[Any]								=			sink

    while s != source:
      # Find the minimum value in select path
      lowerCAmelCase_       :    Any								=			min(lowerCAmelCase__   ,       graph[parent[s]][s]						)
      lowerCAmelCase_       :    Union[str, Any]								=			parent[s]

    max_flow += path_flow
    lowerCAmelCase_       :    Optional[int]								=			sink

    while v != source:
      lowerCAmelCase_       :    int								=			parent[v]
      graph[u][v] -= path_flow
      graph[v][u] += path_flow
      lowerCAmelCase_       :    Optional[Any]								=			parent[v]

  for i in range(len(lowerCAmelCase__						)						):
    for j in range(len(graph[0]						)						):
      if graph[i][j] == 0 and temp[i][j] > 0:
        res.append((i, j)						)

  return res


if __name__ == "__main__":
     print(mincut(test_graph, source=0, sink=5))










"""simple docstring"""







import re

def     UpperCamelCase_   (   lowerCAmelCase__				:    str						)						->       bool:

  """simple docstring"""




  lowerCAmelCase_       :    str								=			re.compile(
      R'^(?:0|94|\+94|0{2}94)' R'7(0|1|2|4|5|6|7|8)' R'(-| |)' R'\d{7}$'						)

  return bool(re.search(lowerCAmelCase__   ,       lowerCAmelCase__						)						)


if __name__ == "__main__":
     lowercase__		:    Optional[int]				   =     """0094702343221"""

     print(is_sri_lankan_phone_number(phone))





