#include <bits/stdc++.h>
using namespace std;
const int maxn = 200500;
int mapp[maxn], num[maxn], ans[maxn];
int main() {
  int n, a, b, k;
  while (cin >> n >> a >> b >> k) {
    memset(ans, 0, sizeof(ans));
    char c;
    for (int i = 0; i < n; i++) {
      cin >> c;
      mapp[i] = c - '0';
    }
    int len = 0, pos = 0, tk = a;
    int sum, sum2 = 0;
    for (int i = 0; i < n; i++) {
      if (0 == mapp[i]) len++;
      if (1 == mapp[i] || i == n - 1) {
        num[pos++] = len;
        int kk = len / b;
        if (kk <= tk)
          tk -= kk;
        else {
          if (i == n - 1 && !mapp[i]) i++;
          for (int j = tk + 1; j <= kk; j++) {
            ans[i - len - 1 + j * b] = 1;
            sum2++;
          }
          tk = 0;
        }
        len = 0;
      }
    }
    sum = 1;
    len = 0;
    for (int i = 0; i < n; i++) {
      if (0 == mapp[i]) len++;
      if ((1 == mapp[i] || i == n - 1) && sum > 0) {
        if (i == n - 1 && !mapp[i]) i++;
        int kk = len / b;
        for (int j = 1; j <= kk; j++) {
          sum--;
          if (!ans[i - len - 1 + j * b]) sum2++;
          ans[i - len - 1 + j * b] = 1;
          if (sum <= 0) break;
        }
        len = 0;
      }
    }
    cout << sum2 << endl;
    int flag = 0;
    for (int i = 0; i < n; i++) {
      if (!ans[i]) continue;
      if (!flag)
        flag = 1;
      else
        cout << ' ';
      cout << i + 1;
    }
    cout << endl;
  }
}
