import java.io.*;
import java.util.*;

public class Clockwork {
    public static void main(String[] args) throws IOException {
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

	String s = br.readLine();
	if (s.charAt(0) == '0') {
	    System.out.println("-1");
	    return;
	}

	int length = s.length();
	boolean[] number = new boolean[length];
	boolean ok = true;
	for (int i = 0; i < length; i++) {
	    number[i] = s.charAt(i) == '1';
	    ok &= number[i];
	}
	if (ok) {
	    System.out.println(0);
	    return;
	}

	int count = 0;

	while (true) {
	    int firstZero = -1;
	    for (int i = 0; i < length; i++) {
		if (number[i] == false) {
		    firstZero = i;
		    break;
		}
	    }

	    Set<Integer> shifts = new HashSet<Integer>();
	    for (int i = 1; i <= firstZero; i++) {
		shifts.add(i);
	    }

	    for (int i = firstZero; i < length; i++) {
		if (shifts.size() == 1) break;
		if (number[i] == true) continue;
		Set<Integer> okShifts = new HashSet<Integer>();


		for(Integer shift : shifts) {
		    if (number[i-shift] == true) {
			okShifts.add(shift);
		    }
		}
		if (okShifts.size() > 0) {
		    shifts = okShifts;
		}
	    }
	    int shift = 0;
		for(Integer sh : shifts) {
		    shift = sh;
		}

	    boolean[] temp = new boolean[length];
	    for (int i = 0; i < length; i++) {
		temp[i] = number[i];
	    }
	    for (int i = shift; i < length; i++) {
		temp[i] = number[i] || number[i-shift];
	    }
	    number = temp;
	    ok = true;
	    for (int i = 0; i < length; i++) {
		ok &= number[i];
	    }
	    //for (int i = 0; i < length; i++) {
		//System.out.print(number[i] ? '1' : '0');
	    //}
	    //System.out.println();

	    count++;
	    if (ok) break;
	}

	System.out.println(count);



    }
}
