#include #define rep(i,n) for(int i = 0; i < (n); ++i) typedef long long ll; using namespace std; int best = 6; string s; int len; void bt(int last, int cnt, string &ls) { cnt++; for (int i = last; i < len; i++) { if (cnt >= best) break; string tmp = ls; for(int j= len-i-1; j>=0; j--){ if(tmp[j] == '1') tmp[j+i]='1'; } bool ok = true; for(int j = 0; j < len; j++) { if(tmp[j] == '0'){ ok = false; break; } } if(ok) best = cnt; else bt(i, cnt, tmp); } } int main() { cin >> s; len = s.length(); if(s[0] == '0'){ cout << "-1" << endl; return 0; } bt(1,0,s); cout << best << endl; return 0; }