func_code_string: #include <bits/stdc++.h>   using namespace std;   int main() {     ios_base ::sync_with_stdio(false);     cin.tie(NULL);     cout.tie(NULL);     long long i, j, k, n, m, ans = 0, sum = 0, a[100005] = {0}, mn = 2e9, mx = 0,                              x, y, z, cnt = 0;     string s;     set<long long> zero, one;     set<long long>::iterator it, it1;     vector<long long> v[200005];     cin >> s;     for (i = 0; i < s.size(); i++) {       if (s[i] ==  0 ) {         zero.insert(i);       } else {         one.insert(i);       }     }     while (one.size()) {       i = -1;       if (zero.size() == 0) {         cout << -1;         return 0;       }       it = zero.lower_bound(i);       i = *it;       zero.erase(i);       v[ans].push_back(i);       while (one.size()) {         it = one.lower_bound(i);         if (it == one.end()) {           break;         }         i = *it;         one.erase(i);         v[ans].push_back(i);         it = zero.lower_bound(i);         if (it == zero.end()) {           cout << -1;           return 0;         }         i = *it;         zero.erase(i);         v[ans].push_back(i);       }       ans++;     }     k = ans + zero.size();     cout << k << endl;     for (i = 0; i < ans; i++) {       for (j = 0; j < v[i].size(); j++) {         if (j == 0) {           cout << v[i].size() <<    ;         }         cout << v[i][j] + 1 <<    ;       }       cout << endl;     }     while (zero.size()) {       it = zero.begin();       cout << 1 <<     << *it + 1 << endl;       zero.erase(it);     }     return 0;   }   