#include <bits/stdc++.h>
#pragma GCC optimize( \
    "Ofast,no-stack-protector,unroll-loops,no-stack-protector,fast-math")
using namespace std;
const int N = 2e5 + 5, M = 2 * N + 5;
char s[N];
int n, a, b, k, sz;
pair<int, int> rang[N];
int main() {
  scanf("%d %d %d %d %s", &n, &a, &b, &k, s);
  for (int i = 0; i < n; ++i) {
    if (s[i] == '1') continue;
    if (i + b > n) break;
    int one = -1;
    for (int j = i; j < i + b && one == -1; ++j)
      if (s[j] == '1') one = j;
    if (one == -1) {
      rang[sz].first = i;
      rang[sz++].second = i + b - 1;
      i += (b - 1);
    } else
      i = (one - 1);
  }
  printf("%d\n", sz - a + 1);
  for (int i = 0; i < sz - a + 1; ++i)
    printf("%d%c", rang[i].second + 1, " \n"[i + 1 == sz - a + 1]);
}
