#include using namespace std; #define fi first #define se second #define mp make_pair #define pb push_back #define maxn 40 typedef long long ll; bool ok; int n; void solve(int dep, const string& str){ if(ok) return; if(dep == 0){ for(int i = 0; i < n; i++){ if(str[i] == '0') return; } ok = 1; return; } for(int i = 0; i < n; i++){ string nstr = str; for(int j = 0; j < n; j++){ if(i + j < n && str[j] == '1') nstr[j + i] = '1'; } solve(dep - 1, nstr); } } int main(){ ok = 0; string str; cin >> str; n = str.length(); int ans = -1; if (str[0] != '0') { for(int dep = 0; dep <= 6; dep++){ solve(dep, str); if(ok){ ans = dep; break; } } } printf("%d\n", ans); return 0; }