#include <bits/stdc++.h>
using namespace std;
long long expo(long long a, long long b, long long m) {
  long long result = 1;
  while (b) {
    if (b & 1) {
      result = (result * a) % m;
    }
    b = (b >> 1) % m;
    a = (a * a) % m;
  }
  return result;
}
bool comp(pair<int, int> a, pair<int, int> b) { return a.second <= b.second; }
int main() {
  string s;
  int m;
  cin >> s >> m;
  vector<int> v;
  for (int i = 0; i < s.length(); ++i) {
    if (s[i] == '1') v.push_back(i + 1);
  }
  if (v.size() == 0) {
    cout << "NO" << endl;
    return 0;
  }
  int i = 1;
  long long left, right = 0, prev = 0, flag = 0;
  vector<int> ans;
  for (int k = 0; k < v.size(); ++k) {
    left = v[k];
    i = 1;
    right = 0;
    prev = k;
    ans.clear();
    ans.push_back(v[k]);
    while (i < m) {
      flag = 0;
      if (i % 2 == 1) {
        for (int j = 0; j < v.size(); ++j) {
          if (right + v[j] > left && prev != j) {
            right += v[j];
            ans.push_back(v[j]);
            prev = j;
            flag = 1;
            break;
          }
        }
        if (flag == 0) {
          break;
        }
      } else {
        for (int j = 0; j < v.size(); ++j) {
          if (left + v[j] > right && prev != j) {
            left += v[j];
            ans.push_back(v[j]);
            prev = j;
            flag = 1;
            break;
          }
        }
        if (flag == 0) {
          break;
        }
      }
      i++;
      if (flag == 0) {
        break;
      }
    }
    if (i >= m) break;
  }
  if (i >= m) {
    cout << "YES" << endl;
    for (int i = 0; i < ans.size(); ++i) {
      cout << ans[i] << " ";
    }
    return 0;
  } else
    cout << "NO" << endl;
}
