#include <bits/stdc++.h>
using namespace std;
int n, a, b, k;
char ch[200005];
struct node {
  int from, to;
  int len;
};
queue<node> Q;
queue<int> ans;
int main() {
  cin >> n >> a >> b >> k;
  cin >> ch;
  int i;
  int tot = 0;
  for (i = 0; i < n;) {
    node nn;
    while (ch[i] == '1') i++;
    nn.from = i;
    while (ch[i] == '0') i++;
    nn.to = i - b;
    nn.len = 1 + nn.to - nn.from;
    int d = ((nn.len + b - 1) / b);
    if (d != 0) {
      tot += d;
      Q.push(nn);
    }
  }
  while (tot >= a) {
    node nn = Q.front();
    Q.pop();
    ans.push(nn.from + b - 1);
    nn.from += b;
    nn.len -= b;
    tot--;
    if ((nn.len + b - 1) / b != 0) Q.push(nn);
  }
  cout << ans.size() << endl;
  while (!ans.empty()) {
    cout << ans.front() + 1 << ' ';
    ans.pop();
  }
  return 0;
}
