CF1594C Make Them Equal
Description
Theofanis has a string $ s_1 s_2 \dots s_n $ and a character $ c $ . He wants to make all characters of the string equal to $ c $ using the minimum number of operations.
In one operation he can choose a number $ x $ ( $ 1 \le x \le n $ ) and for every position $ i $ , where $ i $ is not divisible by $ x $ , replace $ s_i $ with $ c $ .
Find the minimum number of operations required to make all the characters equal to $ c $ and the $ x $ -s that he should use in his operations.
Input Format
The first line contains a single integer $ t $ ( $ 1 \le t \le 10^4 $ ) — the number of test cases.
The first line of each test case contains the integer $ n $ ( $ 3 \le n \le 3 \cdot 10^5 $ ) and a lowercase Latin letter $ c $ — the length of the string $ s $ and the character the resulting string should consist of.
The second line of each test case contains a string $ s $ of lowercase Latin letters — the initial string.
It is guaranteed that the sum of $ n $ over all test cases does not exceed $ 3 \cdot 10^5 $ .
Output Format
For each test case, firstly print one integer $ m $ — the minimum number of operations required to make all the characters equal to $ c $ .
Next, print $ m $ integers $ x_1, x_2, \dots, x_m $ ( $ 1 \le x_j \le n $ ) — the $ x $ -s that should be used in the order they are given.
It can be proved that under given constraints, an answer always exists. If there are multiple answers, print any.
Explanation/Hint
Let's describe what happens in the third test case:
1. $ x_1 = 2 $ : we choose all positions that are not divisible by $ 2 $ and replace them, i. e. bzyx $ \rightarrow $ bzbx;
2. $ x_2 = 3 $ : we choose all positions that are not divisible by $ 3 $ and replace them, i. e. bzbx $ \rightarrow $ bbbb.