#include <bits/stdc++.h>
using namespace std;
const int N = 200005;
int n, ships, len, k;
char str[N];
int main() {
  scanf("%d %d %d %d %s", &n, &ships, &len, &k, str);
  set<tuple<int, int, int>> s;
  int tot = 0;
  for (int i = 0; i < n; i++) {
    if (str[i] == '1') continue;
    int j = i;
    while (j + 1 < n and str[j + 1] == '0') j++;
    if (j - i + 1 >= len) {
      s.emplace((j - i + 1) % len, i, j);
      tot += (j - i + 1) / len;
    }
    i = j;
  }
  vector<int> ans;
  while (tot >= ships) {
    int i, j;
    tie(ignore, i, j) = *s.begin();
    s.erase(s.begin());
    tot -= (j - i + 1) / len;
    ans.push_back(i + len - 1);
    i += len;
    if (j - i + 1 >= len) {
      tot += (j - i + 1) / len;
      s.emplace((j - i + 1) % len, i, j);
    }
  }
  printf("%d\n", (int)ans.size());
  for (int x : ans) printf("%d ", x + 1);
  printf("\n");
}
