#include <bits/stdc++.h>
using namespace std;
inline void MAX(int &a, const int &b) {
  if (a < b) a = b;
}
inline int max(const int &a, const int &b) { return a > b ? a : b; }
inline void MIN(int &a, const int &b) {
  if (a > b) a = b;
}
inline int min(const int &a, const int &b) { return a < b ? a : b; }
const int N = 2e6 + 5, P = 998244353, g = 3;
inline int qpow(int a, int b) {
  int ans = 1, base = a;
  while (b) {
    if (b & 1) ans = 1LL * ans * base % P;
    base = 1LL * base * base % P;
    b >>= 1;
  }
  return ans;
}
const int gi = qpow(g, P - 2);
int T;
char s[N];
int a[N], b[N], n;
int rev[N];
inline void NTT(int *a, int len, bool type) {
  for (int i = 1; i < len; ++i) {
    rev[i] = (rev[i >> 1] >> 1) | ((i & 1) ? (len >> 1) : 0);
    if (i < rev[i]) swap(a[i], a[rev[i]]);
  }
  for (int i = 1; i < len; i <<= 1) {
    int wn = qpow(type ? g : gi, (P - 1) / (i << 1));
    for (int j = 0; j < len; j += (i << 1))
      for (int k = 0, w = 1; k < i; ++k, w = 1LL * w * wn % P) {
        int x = a[j + k], y = 1LL * a[i + j + k] * w % P;
        a[j + k] = (x + y) % P, a[i + j + k] = (x - y + P) % P;
      }
  }
  if (!type) {
    int inv = qpow(len, P - 2);
    for (int i = 0; i < len; ++i) a[i] = 1LL * a[i] * inv % P;
  }
}
bool f[N];
int main() {
  scanf("%d", &T);
  while (T--) {
    scanf("%d", &n);
    scanf("%s", s);
    int len = 1;
    while (len < (n << 1)) len <<= 1;
    for (int i = 0; i < n; ++i) {
      f[i] = 0;
      if (s[i] == 'V')
        a[i] = 1;
      else if (s[i] == 'K')
        b[n - i] = 1;
    }
    NTT(a, len, 1), NTT(b, len, 1);
    for (int i = 0; i < len; ++i) a[i] = 1LL * a[i] * b[i] % P;
    NTT(a, len, 0);
    for (int i = 0; i < len; ++i) {
      int w = abs(i - n);
      if (a[i]) f[w] = 1;
      a[i] = b[i] = 0;
    }
    int cnt = 1;
    for (int i = 1; i < n; ++i) {
      bool flag = 0;
      for (int j = i; j < n; j += i) flag |= f[j];
      if (!flag) ++cnt;
    }
    printf("%d\n", cnt);
    for (int i = 1; i < n; ++i) {
      bool flag = 0;
      for (int j = i; j < n; j += i) flag |= f[j];
      if (!flag) printf("%d ", i);
    }
    printf("%d\n", n);
  }
  return 0;
}
