Будівництво басейну#4013

Будівництво басейну

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

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

Зона басейну являє собою прямокутну сітку розміром w \times h квадратних ділянок, що можуть містити нуль або більше (можливо, роз'єднаних) басейнів. Басейн складається з однієї або кількох з'єднаних ділянок з ямами, які згодом будуть заповнені водою. Спочатку ви маєте ділянку землі, де кожна ділянка є або ямою ('.'), або рівною травою ('#'). Щоб перетворити цю землю на зону басейну, ви повинні дотримуватися наступних правил:

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

Вхідні дані

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

  • один рядок з двома цілими числами і (2 \leq w, h \leq 50): ширина і висота будівельного майданчика.

  • один рядок з трьома цілими числами , і (1 \leq d, f, b \leq 10000): вартість викопування нової ями, заповнення існуючої ями та встановлення елемента межі між басейном і ділянкою з травою.

  • рядків по символів кожен, що представляють планування оригінального будівельного майданчика.

Вихідні дані

Для кожного тестового випадку виведіть:

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

Приклади

Приклад 1

Loading
Loading