#include <bits/stdc++.h>
using namespace std;
int n, a, b, k, l, r, num, sum;
vector<int> ans;
struct Node {
  int l, r;
} f[200005];
char s[200005];
int main() {
  scanf("%d%d%d%d", &n, &a, &b, &k);
  scanf("%s", s + 1);
  l = 1;
  sum = 0;
  while (l <= n) {
    while (l <= n && s[l] == '1') ++l;
    if (l > n) break;
    r = l;
    while (r <= n && s[r] == '0') ++r;
    r--;
    if (r - l + 1 >= b) {
      ++num;
      f[num].l = l;
      f[num].r = r;
      sum += (r - l + 1) / b;
    }
    l = r + 1;
  }
  ans.clear();
  for (int i = 1; i <= num; ++i) {
    if (sum < a) break;
    int dq = f[i].l + b - 1;
    while (dq <= f[i].r) {
      ans.push_back(dq);
      sum--;
      if (sum < a) break;
      dq += b;
    }
    if (sum < a) break;
  }
  printf("%d\n", ans.size());
  for (int i = 0; i < ans.size(); ++i) printf("%d ", ans[i]);
  return 0;
}
