Max Flow Min Cut Algorithm