Цивілізації#11108

Цивілізації

7 секунд
128 мегабайтів
Дуже складна

У розробці знаходиться нова популярна гра: Civilizations (не плутати з Civilization). Як один із старших розробників у команді, ви повинні створити основний ігровий рушій.

Світ гри поділений на рядків і стовпців квадратних полів. Поле в -му рядку і -му стовпці спочатку належить цивілізації p_{i,j} (можна припустити, що для кожного цілого числа від до n^2 - 1 включно існує цивілізація, що відповідає цьому числу. Звісно, в будь-який момент часу багато з них можуть не володіти жодними полями), і має значення v_{i,j}, яке відповідає цінним ресурсам (або фінансовим зобов'язанням), пов'язаним з ним.

Для цивілізації визначимо дві важливі характеристики: її багатство (w_p) і протяжність кордонів (l_p). Багатство цивілізації - це загальна вартість полів, якими вона володіє, а довжина кордонів - це кількість неупорядкованих пар полів , таких, що у і є спільна сторона, і рівно одне з них належить .

Ігровий рушій повинен обробляти послідовність подій, у кожній з яких змінюється власник одного з полів в результаті війни між двома цивілізаціями. Зміна власника незворотна, принаймні до наступної війни. Після кожної такої події рушій повинен визначати, наскільки сильна поточна найсильніша цивілізація (враховуються лише цивілізації, що володіють хоча б одним полем).

Команда дизайнерів гри вже вирішила, що сила цивілізації буде розраховуватися як Aw_p + Bl_p + Cw_pl_p. Однак, ситуація ускладнюється тим, що визначення сили змінюється в міру розвитку ситуації в ігровому світі! Після кожної події ваш рушій отримуватиме нові значення коефіцієнтів , і .

Звісно, ваш рушій теж повинен бути швидким, інакше гравцям у Civilizations стане нудно!

Вхідні дані

Перша строка містить кількість тестів (1 \le z \le 5000). Далі йдуть описи тестів.

Перша строка кожного тесту складається з одного цілого числа (2 \le n \le 500) - розміру світу.

Наступні рядків містять по цілих чисел і описують значення полів v_{i,j} (|v_{i,j}| \le 100).

Наступні рядків містять цілих чисел кожна і описують початкових власників полів p_{i,j} (0 \le p_{i,j} < n^2).

Наступний рядок складається з одного цілого числа (1 \le q \le 10^5) - кількість подій.

Наступні рядків описують події. Кожна з них містить шість цілих чисел: , , , , , (1 \le i, j \le n, 0 \le p < n^2, |A| \le 10^{10}, |B| \le 10^{12}, |C| \le 10^4), що відповідає: рядку і стовпцю поля, яке змінює власників, новій цивілізації-власнику і новим коефіцієнтам для обчислення сил цивілізацій відповідно. Гарантується, що до події цивілізація не володіла полем .

Загальна кількість одиничних полів у всіх тестах не перевищує .

Загальна кількість запитів у всіх тестах не перевищує .

Вихідні дані

Для кожного тесту виведіть один рядок, що містить цілих чисел: значення сили наймогутнішої цивілізації після кожної події.

Приклади

Приклад 1

Loading
Loading

Примітка

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

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

Після третьої події на дошці залишилося три цивілізації: , і . Цивілізація тепер найпотужніша.

Нарешті, в останніх трьох подіях цивілізація захоплює решту полів. Зверніть увагу, що тепер є наймогутнішою цивілізацією для будь-яких , і , оскільки ми враховуємо лише цивілізації, що контролюють хоча б одне поле. Сила цивілізації в кінці гри становить , оскільки довжина її кордонів становить , а багатство дорівнює .