the algorithm is identical to the ford–fulkerson algorithm, except that the search order when finding the augmenting path is defined. the path found must be a shortest path that has available capacity. this can be found by a breadth-first search, where we apply a weight of 1 to each edge. the running time of formula_4is found by showing that each augmenting path can be found in formula_5 time, that every time at least one of the formula_6 edges becomes saturated (an edge which has the maximum possible flow), that the distance from the saturated edge to the source along the augmenting path must be longer than last time it was saturated, and that the length is at most formula_7. another property of this algorithm is that the length of the shortest augmenting path increases monotonically. there is an accessible proof in "introduction to algorithms".