#include #define ll long long using namespace std; string s; ll sol = 0; bool hasChange = true; const int MAXN = 10000; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cin >> s; for (auto c : s) { if (c != '1' && c != '0') return 1; } bool invalid = (s[0] == '0'); if (invalid) { cout << -1; return 0; } while (hasChange) { cout << s << '\n'; hasChange = false; int mini = MAXN; int onePos = 0; bool inOnes = false; for (int i = 0; i < s.size(); i++) { if (s[i] == '1' && !inOnes) { inOnes = true; onePos = i; } if (s[i] == '0' && inOnes) { inOnes = false; mini = min(mini, i - onePos); } } if (mini == MAXN) { break; } for (int i = s.size() - 1; i >= 0; i--) { if (i - mini >= 0 && s[i - mini] == '1') { s[i] = '1'; hasChange = true; } } sol++; } cout << sol; return 0; }