#include <bits/stdc++.h>
using namespace std;
const int maxn = 2e5 + 10;
int n, a, b, k;
char S[maxn];
struct Segment {
  int l, r;
  Segment() {}
  Segment(int l, int r) : l(l), r(r) {}
} Seg[maxn];
int sSize = 0;
int main() {
  scanf("%d%d%d%d", &n, &a, &b, &k);
  scanf("%s", S + 1);
  for (int i = 1; i <= n; ++i)
    if (S[i] == '0') {
      int j = i;
      while (j <= n && S[i] == S[j]) ++j;
      Seg[++sSize] = Segment(i, j - 1);
      i = j;
    }
  int ans = 0;
  for (int i = 1; i <= sSize; ++i) ans += (Seg[i].r - Seg[i].l + 1) / b;
  ans -= (a - 1);
  printf("%d\n", ans);
  for (int i = 1; i <= sSize; ++i) {
    int l = Seg[i].l, r = Seg[i].r;
    while (ans > 0 && l + b - 1 <= r)
      printf("%d ", l + b - 1), l = l + b, --ans;
  }
  return 0;
}
