#include <bits/stdc++.h>
using namespace std;
const int maxlen = (int)(2e5) + 10;
const int base = (int)(1e9);
const long long mod = 1073676287;
const long long bigmod = 99194853094755497ll;
const long long infinity = (long long)1e18;
set<pair<int, int> > S;
vector<int> ans;
int main() {
  int n, a, b, k;
  scanf("%d%d%d%d", &n, &a, &b, &k);
  int tek = 0;
  string s;
  cin >> s;
  int i, j;
  i = 0;
  while (i < n) {
    while (i < n && s[i] == '1') i++;
    if (i >= n) break;
    j = i;
    while (j < n && s[j] == '0') j++;
    S.insert(make_pair(j - i, i));
    tek = tek + (j - i) / b;
    i = j;
  }
  while (s.size() && tek >= a) {
    pair<int, int> v = *S.rbegin();
    S.erase(v);
    int x = v.second + b;
    int y = v.first + v.second;
    while (x <= y && tek >= a) {
      ans.push_back(x);
      x += b;
      tek--;
    }
  }
  printf("%d\n", ans.size());
  for (i = 0; i < ans.size(); ++i) printf("%d ", ans[i]);
  return 0;
}
