#include <bits/stdc++.h>
using namespace std;
char data[200005];
int output[200005];
struct node {
  int s, len;
} store[200005];
int main(void) {
  int n, a, b, k;
  while (cin >> n >> a >> b >> k) {
    scanf("%s", data);
    int len = strlen(data);
    int num = 0;
    int z = 0;
    for (int i = 0; i < len;) {
      if (data[i] == '0') {
        store[z].s = i;
        int cnt = 0;
        while (i < len && data[i] == '0') {
          i++;
          cnt++;
        }
        store[z++].len = cnt;
        num += cnt / b;
      } else
        i++;
    }
    int p = 0;
    for (int i = 0; i < z; i++) {
      int tmp = store[i].len / b;
      int j = store[i].s + b - 1;
      while (tmp && num >= a) {
        output[p++] = j;
        j += b;
        tmp--;
        num--;
      }
      if (num < a) break;
    }
    printf("%d\n", p);
    for (int i = 0; i < p; i++) {
      if (i) printf(" ");
      printf("%d", output[i] + 1);
    }
    printf("\n");
  }
  return 0;
}
