C. Сделай их равными
ограничение по времени на тест
2 секунды
ограничение по памяти на тест
256 мегабайт
ввод
стандартный ввод
вывод
стандартный вывод

У Теофаниса есть строка $$$s_1 s_2 \dots s_n$$$ и символ $$$c$$$. Он хочет сделать все символы своей строки равными $$$c$$$, используя наименьшее количество операций.

За одну операцию, он может выбрать число $$$x$$$ ($$$1 \le x \le n$$$) и для каждой позиции $$$i$$$, где $$$i$$$ не делится на $$$x$$$, заменить $$$s_i$$$ на $$$c$$$.

Определите наименьшее количество операций, для того чтобы сделать все символы строки равными $$$c$$$ и соответствующие $$$x$$$-ы, которые нужно выбрать.

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

В первой строке задано одно целое число $$$t$$$ ($$$1 \le t \le 10^4$$$) — количество наборов входных данных.

В первой строке каждого набора заданы целое число $$$n$$$ ($$$3 \le n \le 3 \cdot 10^5$$$) и строчная буква латинского алфавита $$$c$$$ — длина строки $$$s$$$ и буква, из которой должна состоять строка в результате.

Во второй строке каждого набора задана строка $$$s$$$ из строчных букв латинского алфавита — первоначальная строка.

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

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

Для каждого набора входных данных, сначала выведите одно целое число $$$m$$$ — наименьшее количество операций для того, чтобы сделать все символы равными $$$c$$$.

Далее выведите $$$m$$$ целых чисел $$$x_1, x_2, \dots, x_m$$$ ($$$1 \le x_j \le n$$$) — $$$x$$$-ы, которые нужно использовать в заданном порядке.

Можно доказать, что при заданных ограничениях ответ всегда существует. Если существует несколько ответов, выведите любой.

Пример
Входные данные
3
4 a
aaaa
4 a
baaa
4 b
bzyx
Выходные данные
0
1
2
2 
2 3
Примечание

Опишем, что происходит в третьем наборе входных данных:

  1. $$$x_1 = 2$$$: выбираем все позиции, которые не делятся на $$$2$$$, и заменяем их, т. е. bzyx $$$\rightarrow$$$ bzbx;
  2. $$$x_2 = 3$$$: выбираем все позиции, которые не делятся на $$$3$$$, и заменяем их, т. е. bzbx $$$\rightarrow$$$ bbbb.