Роки до того, як Candy Crush стала надзвичайно популярною грою, яка могла б привести розробника Saga до багатомільярдного IPO, існувала онлайн-гра під назвою Cash Cow, що досі є частиною платформи Webkinz.
Ця однокористувацька гра має дошку розміром рядків на стовпців, як показано на Рисунку 1. Рядки пронумеровані від до , починаючи знизу, а стовпці — від до , починаючи зліва. Кожна клітинка сітки може містити кольорове коло або бути порожньою. (Ми використовуємо великі літери для позначення різних кольорів, наприклад, B=синій, R=червоний і Y=жовтий.) На кожному ході гравець натискає на коло. Комп'ютер визначає найбільший "кластер", до якого належить це коло, де кластер визначається як початкове коло, будь-які його сусіди по горизонталі та вертикалі з відповідним кольором, сусіди цих кіл з відповідними кольорами і так далі. Наприклад, якщо користувач натисне на синє коло в клітинці () на Рисунку 1, його кластер складається з тих клітинок, що показані з порожніми колами на Рисунку 2.
Хід гравця обробляється наступним чином. Якщо вказана клітинка сітки належить до кластера лише з одного або двох кіл (або якщо в цій клітинці немає кола), хід втрачається. В іншому випадку, якщо кластер складається з або більше кіл, всі кола в кластері видаляються з дошки. Залишені кола потім ущільнюються наступним чином:
Кола падають вертикально, щоб заповнити будь-які порожні місця в своєму стовпці.
Якщо один або більше стовпців стали порожніми, всі залишені стовпці зсуваються вліво (кожен непорожній стовпець залишається цілим), так що вони щільно прилягають до лівого краю дошки.
Наприклад, Рисунок 3 показує дошку після того, як кластер з Рисунка 2 був видалений після натискання на ().
Як інший приклад, Рисунок 4 нижче, зображує обробку наступного натискання на клітинку (). Під час цього ходу стовпець () стає порожнім, і результуючі стовпці () до () зсуваються, щоб стати стовпцями () до (), відповідно. Рисунок 5 надає ще один приклад, у якому кілька стовпців ущільнюються.
Рисунок 4: Обробка натискання на клітинку .
Рисунок 5: Обробка натискання на клітинку .
Вхідні дані складатимуться з декількох ігор, кожна з яких грається на новій дошці. Для кожної гри вхідні дані починаються з числа , яке позначає кількість ходів, які гравець буде робити, з 1 \le T \le 20. Після цього буде початкова конфігурація дошки, яка завжди має рядків і стовпців у кожному рядку, з великими літерами, що використовуються для позначення різних кольорів. Ніколи не буде порожніх клітинок у початковій дошці. Після представлення початкової дошки буде додаткових рядків вхідних даних, кожен з яких позначає клітинку сітки; ми покладаємося на систему координат, ілюстровану на наведених вище рисунках, з малою літерою, від до , що позначає стовпець, і числом від до , що позначає рядок. Ми зазначаємо, що якщо гравець натискає на клітинку сітки, в якій наразі немає жодного кола, цей хід просто втрачається.
Кінець всього вхідного файлу буде позначений рядком з числом .
Для кожної гри виведіть один рядок, що позначає кількість кіл, які залишаються на дошці після обробки всіх ходів гравця.
Приклад 1