#include <bits/stdc++.h>
using namespace std;
const int N = 200500;
int n, A, B, k;
char a[N];
int add[N], cnt[N];
inline void upd(int pos) {
  int L = pos, R = pos;
  add[L]++;
  add[R + 1]--;
}
vector<int> ans;
void calc(int L, int R) {
  for (int i = L; i + B - 1 <= R; i += B) {
    ans.push_back(i + B - 1);
  }
}
int main() {
  scanf("%d%d%d%d\n", &n, &A, &B, &k);
  for (int i = 1; i <= n; ++i) {
    scanf("%c", &a[i]);
    if (a[i] == '1') {
      upd(i);
    }
  }
  int sum = 0;
  for (int i = 1; i <= n; ++i) {
    sum += add[i];
    cnt[i] = sum;
  }
  for (int i = 1; i <= n; ++i) {
    if (!cnt[i]) {
      int j = i;
      while (j + 1 <= n && !cnt[j + 1]) ++j;
      calc(i, j);
      i = j;
    }
  }
  int res = (int)ans.size() - A + 1;
  if (res < 0) res = 0;
  printf("%d\n", res);
  for (int i = 0; i < res; ++i) printf("%d ", ans[i]);
  return 0;
}
