#include <bits/stdc++.h>
using namespace std;
const int maxn = 200005;
int n, m;
char s[maxn];
vector<int> vec[maxn];
int main() {
  scanf("%s", s + 1);
  int len = strlen(s + 1);
  int mx = 0, zero = 0;
  for (int i = 1; i <= len; i++) {
    if (s[i] == '0')
      vec[++zero].push_back(i);
    else {
      if (zero == 0) {
        puts("-1");
        return 0;
      };
      vec[zero--].push_back(i);
    }
    mx = max(mx, zero);
  }
  if (mx != zero) {
    puts("-1");
    return 0;
  };
  printf("%d\n", mx);
  for (int i = 1; i <= mx; i++) {
    printf("%d", vec[i].size());
    for (int j = 0; j < vec[i].size(); j++) printf(" %d", vec[i][j]);
    printf("\n");
  }
}
