B. Serval и Инверсионная магия
ограничение по времени на тест
1 секунда
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Serval есть бинарная строка $$$s$$$, которая может состоять только из символов 0 и 1, длины $$$n$$$. $$$i$$$-й символ $$$s$$$ обозначается как $$$s_i$$$, где $$$1\leq i\leq n$$$.

Serval может применять следующую операцию, названную Инверсионной магией, к строке $$$s$$$:

  • Выбрать отрезок $$$[l, r]$$$ ($$$1\leq l\leq r\leq n$$$). Для $$$l\leq i\leq r$$$, заменить $$$s_i$$$ на 1, если $$$s_i$$$ является 0, и заменить $$$s_i$$$ на 0, если $$$s_i$$$ является 1.

Например, пусть $$$s$$$ равна 010100 и выбран отрезок $$$[2,5]$$$. Строка $$$s$$$ будет равна 001010 после применения Инверсионной магии.

Serval хочет сделать $$$s$$$ палиндромом после применения Инверсионной магии ровно один раз. Помогите ему определить, возможно ли это.

Строка является палиндромом тогда и только тогда, когда она одинаково читается слева направо и справа налево. Например, 010010 является палиндромом, но 10111 не является.

Входные данные

Каждый тест состоит из нескольких наборов входных данных. Первая строка содержит количество наборов входных данных $$$t$$$ ($$$1\leq t\leq 10^4$$$). Далее следует описание наборов входных данных.

Первая строка каждого набора входных данных содержит единственное целое число $$$n$$$ ($$$2\leq n\leq 10^5$$$) — длина строки $$$s$$$.

Вторая строка каждого набора входных данных содержит бинарную строку $$$s$$$ длины $$$n$$$. В строке $$$s$$$ могут содержаться только символы 0 и 1.

Гарантируется, что сумма $$$n$$$ по всем наборам входных данных не превосходит $$$2\cdot 10^5$$$.

Выходные данные

Для каждого набора входых данных выведите Yes, если $$$s$$$ может стать палиндромом, после применения Инверсионной магии один раз, и No, если нет.

Вы можете вывести Yes и No в любом регистре (например, строки yEs, yes, Yes и YES будут распознаны как положительный ответ).

Пример
Входные данные
3
4
1001
5
10010
7
0111011
Выходные данные
Yes
Yes
No
Примечание

В первом наборе входных данных Serval может применить Инверсионную магию на отрезке $$$[1,4]$$$. Строка $$$s$$$ станет равной 0110 после магии.

Во втором наборе входных данных Serval может применить Инверсионную магию на отрезке $$$[1,3]$$$. Строка $$$s$$$ станет равной 01110 после магии.

В третьем наборе входных данных Serval не может сделать $$$s$$$ палиндромом после применения Инверсионной магии ровно один раз.