Задано рядок , що складається з символів , та .
За одну операцію дозволяється вибрати два сусідніх елементи рядка s_is_{i+1}, які в такій послідовності дорівнюють , або , і поміняти їх місцями.
Знайдіть найбільшу кількість послідовних операцій, які можна виконати з рядком .
У цій задачі кожен тест містить кілька наборів вхідних даних. Вам потрібно розв'язати задачу незалежно для кожного такого набору.
У першому рядку задано одне ціле число (1\le T\le 10^5) — кількість наборів вхідних даних. Далі задано опис наборів вхідних даних.
У першому рядку кожного набору вхідних даних задано одне ціле число (1 \le n \le 10^6) — довжина рядка .
У другому рядку кожного набору вхідних даних задано рядок довжини , що складається з символів , та .
Гарантується, що сума по всім наборам вхідних даних одного тесту не перевищує 10^6.
Для кожного набору вхідних даних виведіть в окремому рядку одне ціле число — найбільшу кількість послідовних операцій, які можна виконати з рядком .
Приклад 1
У першому наборі вхідних даних першого прикладу можна виконати не більше ніж послідовні операції з рядком ABCCA. Одним з прикладів того, як послідовні операції можна виконати, є [ABCCA BACCA, BACCA BACAC, BACAC BAACC].
Нехай — сума по всім наборам вхідних даних одного тесту.
( бали): відповідь рівна або ;
( бали): n \le 3;
( балів): s_i \ne \texttt{C} для 1 \le i \le n;
( балів): має вигляд \texttt{AA}\ldots \texttt{AABB}\ldots \texttt{BBCC}\ldots \texttt{CC} (тобто x \cdot \texttt{A} + y \cdot \texttt{B} + z \cdot \texttt{C} для певних додатних , , );
( балів): s_is_{i+1} \ne \texttt{CA} для 1 \le i < n;
( балів): T = 1, n \le 12;
( балів): n \le 12;
( балів): K \le 2000;
( балів): без додаткових обмежень.