#include <bits/stdc++.h>
using namespace std;
const long long mod = 998244353;
int t, n;
char s[500005];
long long x1[500005 * 3], x2[500005 * 3], x3[500005 * 3];
long long qkpow(long long t, long long pos) {
  long long ans = 1, base = t;
  while (pos) {
    if (pos & 1) ans = ans * base % mod;
    base = base * base % mod;
    pos >>= 1;
  }
  return ans;
}
void change(long long y[], int len) {
  for (int i = 1, j = len / 2; i < len - 1; i++) {
    if (i < j) swap(y[i], y[j]);
    int k = len >> 1;
    while (j >= k) {
      j -= k;
      k >>= 1;
    }
    if (j < k) j += k;
  }
}
void ntt(long long y[], int len, int on) {
  change(y, len);
  for (int h = 2; h <= len; h <<= 1) {
    long long base = qkpow(3, (mod - 1) / h);
    if (on == -1) base = qkpow(base, mod - 2);
    for (int j = 0; j < len; j += h) {
      long long w = 1;
      for (int k = j; k < j + h / 2; k++) {
        long long t1 = y[k];
        long long t2 = w * y[k + h / 2] % mod;
        y[k] = (t1 + t2) % mod;
        y[k + h / 2] = (t1 - t2 + mod) % mod;
        w = w * base % mod;
      }
    }
  }
  long long inv = qkpow(len, mod - 2);
  for (int i = 0; i < len; i++) y[i] = y[i] * inv % mod;
}
void init() {
  scanf("%d", &n);
  scanf("%s", s);
  if (n == 1) {
    printf("1\n1\n");
    return;
  }
  int len = 1;
  for (len = 1; len < (n << 1); len <<= 1)
    ;
  for (int i = 0; i < n; i++) x1[i] = (s[i] == 'V');
  for (int i = 0; i < n; i++) x2[i] = (s[n - 1 - i] == 'K');
  ntt(x1, len, 1);
  ntt(x2, len, 1);
  for (int i = 0; i < len; i++) x1[i] = x1[i] * x2[i] % mod;
  ntt(x1, len, -1);
  for (int i = 0; i < n; i++) x3[i] = x3[i] + x1[i];
  for (int i = 0; i < len; i++) x1[i] = x2[i] = 0;
  for (int i = 0; i < n; i++) x1[i] = (s[i] == 'K');
  for (int i = 0; i < n; i++) x2[i] = (s[n - 1 - i] == 'V');
  ntt(x1, len, 1);
  ntt(x2, len, 1);
  for (int i = 0; i < len; i++) x1[i] = x1[i] * x2[i] % mod;
  ntt(x1, len, -1);
  for (int i = 0; i < n; i++) x3[i] = x3[i] + x1[i];
  int cnt = 0;
  for (int i = 1; i < n; i++) {
    for (int j = 2 * i; j < n; j += i) {
      if (x3[n - 1 - j] != 0) {
        x3[n - 1 - i] = -1;
        break;
      }
    }
  }
  for (int i = 1; i < n; i++)
    if (x3[n - 1 - i] == 0) cnt++;
  printf("%d\n", cnt + 1);
  for (int i = 1; i < n; i++)
    if (x3[n - 1 - i] == 0) printf("%d ", i);
  printf("%d ", n);
  printf("\n");
  for (int i = 0; i < len; i++) x1[i] = x2[i] = 0;
  for (int i = 0; i < n; i++) x3[i] = 0;
}
int main() {
  scanf("%d", &t);
  for (int i = 1; i <= t; i++) init();
  return 0;
}
