func_code_string: #include <bits/stdc++.h>   using namespace std;   const int maxn = (int)2e5 + 10;   vector<int> res[maxn];   int main() {     string s;     cin >> s;     stack<int> st, st2;     int ma = 0;     for (int i = 0; i < s.size(); i++) {       if (s[i] ==  1 ) {         if (st.empty()) {           cout << -1 << endl;           return 0;         }         res[st.top()].push_back(i + 1);         st2.push(st.top());         st.pop();       } else {         if (!st2.empty()) {           res[st2.top()].push_back(i + 1);           st.push(st2.top());           st2.pop();         } else {           res[ma].push_back(i + 1);           st.push(ma);           ma++;         }       }     }     if (!st2.empty()) {       cout << -1 << endl;       return 0;     }     int cnt = 0;     for (int i = 0; i < maxn; i++)       if (!res[i].empty()) cnt++;     cout << cnt << endl;     for (int i = 0; i < maxn; i++)       if (!res[i].empty()) {         printf( %d , res[i].size());         for (int j = 0; j < res[i].size(); j++) {           printf(  %d , res[i][j]);         }         printf(  n );       }     return 0;   }   