Василько замовив мамі собі на день народження торта з вишнями. Він дуже любить вишні і тому просить маму прикрасити торта вишнями. Мама має вишні двох кольорів: червоні та зелені.
Василько має індивідуальний смак і він хоче змінити розташування вишень на торті відповідно до своїх уподобань: він хоче замінити деякі вишні так, щоб кожна вишня одного кольору була оточена вишнями іншого кольору зі всіх сторін по горизонталі та вертикалі. У нього це не виходить і він просить допомоги у програмістів. Дозволено замінювати вишню одного кольору на інший. Вартість заміни червоної вишні на зелену дорівнює 5, а вартість заміни зеленої на червону - 3.
Напишіть програму, яка допоможе вирішити Василькові проблеми — отримати описаний узор з найменшою вартістю.
Формат вхідних даних
Перший рядок вхідного потоку містить ~Т~ ~(1 ≤ T ≤ 100)~ — кількість тестів.
Далі іде опис тестів у наступному форматі:
Перший рядок тесту містить цілі числа ~N,M~ ~(1 ≤ N, M ≤ 100)~ — розміри торта.
Кожен з наступних ~N~ рядків тесту містить рядок довжиною ~M~, який складається із символів {~R~, ~G~}, що позначають кольори вишень на тортові.
Формат вихідних даних
Для кожного тесту вивести в окремому рядку єдине ціле число — мінімальну вартість заміни вишень для Василькового узору.
Приклад вхідних даних
2
4 5
RGRGR
GRGRG
RGRGR
GRGRG
2 3
RRG
GGR
Приклад вихідних даних
0
8
Коментарі