#include <bits/stdc++.h>
using namespace std;
const int N = 212345, LG = 21, mod = 1000000007, M = N;
const double eps = 1e-3, pi = acos(-1.0);
const long long INF = 1123456789123456789LL;
int ma, b;
set<pair<int, int>> s;
void insert(int l, int r) {
  ma += (r - l + 1) / b;
  s.insert({r, l});
}
void del(int x) {
  auto it = s.lower_bound({x, 0});
  if (it == s.end()) {
    assert(false);
  }
  int l = it->second, r = it->second;
  ma -= (r - l + 1) / b;
  s.erase(it);
  if (x + 1 <= r) insert(x + 1, r);
  if (l <= x - 1) insert(l, x - 1);
}
string str;
int main() {
  int n, a, k;
  scanf("%d", &n), scanf("%d", &a), scanf("%d", &b), scanf("%d", &k);
  cin >> str;
  for (int i = 0; i < str.size(); ++i) {
    if (str[i] == '1') continue;
    int last = i;
    for (int j = i + 1; j < str.size(); ++j) {
      if (str[j] == '1') break;
      last = j;
    }
    insert(i + 1, last + 1);
    i = last;
  }
  int ans = ma - a + 1;
  printf("%d\n", ans);
  for (auto p : s) {
    int l = p.second, r = p.first;
    int x = l + b - 1;
    while (ans > 0 && x <= r) {
      printf("%d ", x);
      --ans;
      x += b;
    }
    if (!ans) break;
  }
  return 0;
}
