#include using namespace std; #define FOR(a,b,c) for(int a = b; a < c; a++) int N; int res = 6; void generate(bitset <40> b, int c) { int cn = 0; FOR(i, 0, N) { if(b[i]) { ++cn; } } if(cn == N) { res = min(res, c); return; } if(c < 5) { FOR(i, 1, 21) { bitset <40> temp = b; temp |= temp << i; generate(temp, c + 1); } } } int main() { ios_base::sync_with_stdio(0); string s; cin >> s; N = s.size(); if(s[0] == '0') { cout << -1; return 0; } bitset <40> mask; FOR(i, 0, N) { if(s[i] == '1') { mask[i] = 1; } } generate(mask, 0); cout << res; return 0; }