#include <bits/stdc++.h>
using namespace std;
int main() {
  ios_base::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  string s;
  cin >> s;
  int n = s.length();
  set<int> s0, s1;
  for (int i = 0; i < n; i++) {
    if (s[i] == '0')
      s0.insert(i + 1);
    else
      s1.insert(i + 1);
  }
  int k = 0;
  vector<vector<int>> ans(n);
  for (int i = 0; i < n; i++) {
    if (s[i] == '0') {
      if (s0.find(i + 1) != s0.end()) {
        int x = i + 1;
        int fl = 0;
        while (1) {
          if (fl == 0) {
            auto it = s0.lower_bound(x);
            if (it == s0.end()) {
              cout << "-1";
              return 0;
            }
            ans[k].push_back(*it);
            x = *it;
            s0.erase(it);
            fl = 1;
          } else {
            auto it = s1.lower_bound(x);
            if (it == s1.end()) break;
            ans[k].push_back(*it);
            x = *it;
            s1.erase(it);
            fl = 0;
          }
        }
        k++;
      }
    } else {
      if (s1.find(i + 1) != s1.end()) {
        cout << -1;
        return 0;
      }
    }
  }
  cout << k << endl;
  for (int i = 0; i < k; i++) {
    cout << ans[i].size() << " ";
    for (int j = 0; j < ans[i].size(); j++) cout << ans[i][j] << " ";
    cout << endl;
  }
}
