Потік у мінливій мережі#4589

Потік у мінливій мережі

1 секунда
64 мегабайти
Дуже легка

Дано орієнтовану мережу, над якою можна виконувати два типи операцій. Перша операція збільшує на пропускну здатність ребра з у , а друга операція зменшує на пропускну здатність ребра з у .

Ваше завдання — виводити значення максимального потоку у мережі з вершини у вершину після кожної з операцій.

Вхідні дані

Перший рядок містить два цілих числа і (2 \leq n \leq 150, 0 \leq m \leq 2000), де — кількість вершин у мережі, а — кількість ребер. Наступні рядків описують ребра: у кожному рядку три цілих числа , , (1 \leq x, y \leq n, 1 \leq c \leq 1000), що позначають напрямлене ребро з у з пропускною здатністю .

У наступному рядку знаходиться ціле число (1 \leq t \leq 500) — кількість операцій. Наступні рядків містять операції, кожна з яких записана у форматі "1 x y" або "2 x y" залежно від типу.

У будь-який момент у мережі не існує кількох ребер між однією й тією ж парою вершин або петель. Пропускна здатність будь-якого ребра завжди невід’ємна.

Вихідні дані

Виведіть t+1 чисел. Спочатку виведіть значення максимального потоку у мережі до виконання будь-яких операцій. Далі, після кожної операції, виводьте значення максимального потоку у поточній мережі.

Приклади

Приклад 1

Loading
Loading