#include <bits/stdc++.h>
using namespace std;
namespace {
vector<unsigned long long> fft(const vector<unsigned long long>& input,
                               bool invert = false) {
  const unsigned long long P = 3 * (1ULL << 30) + 1;
  const unsigned long long ROOT = 5, INV_ROOT = 1932735284;
  const unsigned long long TWO_INV = 1610612737;
  const int N = input.size();
  vector<unsigned long long> arr(input);
  for (unsigned long long& x : arr) x %= P;
  for (int i = 1, j = 0; i < N; i++) {
    int bit = N >> 1;
    for (; j >= bit; bit >>= 1) j -= bit;
    j += bit;
    if (i < j) swap(arr[i], arr[j]);
  }
  for (int half = 1; half < N; half <<= 1) {
    unsigned long long wm = invert ? INV_ROOT : ROOT;
    wm = (((wm * wm) % P) * wm) % P;
    for (int ord = (P - 1) / 3; ord > 2 * half; ord >>= 1) wm = (wm * wm) % P;
    for (int st = 0; st < N; st += 2 * half) {
      unsigned long long w = 1;
      for (int j = st; j < st + half; ++j) {
        const unsigned long long temp = (w * arr[j + half]) % P;
        arr[j + half] = (arr[j] + P - temp) % P;
        arr[j] = (arr[j] + temp) % P;
        w = (w * wm) % P;
      }
    }
  }
  if (invert) {
    unsigned long long size_inv = 1;
    for (int sz = 2; sz <= N; sz <<= 1) size_inv = (size_inv * TWO_INV) % P;
    for (unsigned long long& x : arr) x = (x * size_inv) % P;
  }
  return arr;
}
void solve(int test_num) {
  (void)test_num;
  int N;
  cin >> N;
  string str;
  cin >> str;
  int off = 1;
  while (off <= N) off <<= 1;
  const int len = off << 1;
  vector<unsigned long long> arr1(len, 0), arr2(len, 0);
  for (int i = 0; i < (int)str.size(); ++i) {
    if (str[i] == 'V') {
      ++arr1[i];
    } else if (str[i] == 'K') {
      ++arr2[off - i];
    }
  }
  auto f1 = fft(arr1), f2 = fft(arr2);
  for (int i = 0; i < len; ++i) f1[i] *= f2[i];
  auto conv = fft(f1, true);
  vector<int> res;
  for (int i = 1; i <= N; ++i) {
    bool good = true;
    for (int j = i; j <= N; j += i) {
      if (conv[j + off] || conv[off - j]) {
        good = false;
        break;
      }
    }
    if (good) res.push_back(i);
  }
  cout << res.size() << '\n';
  for (int r : res) cout << r << ' ';
  cout << '\n';
}
void init() {}
}  // namespace
int main() {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
  srand(1223);
  init();
  int tests = 1;
  cin >> tests;
  for (int test = 1; test <= tests; ++test) {
    solve(test);
  }
  return 0;
}
