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

public class Clockwork {

    public static void main(String[] args) {
        InputStream is = System.in;
        OutputStream os = System.out;
        PrintWriter out = new PrintWriter(os);
        InputReader in = new InputReader(is);

        /*code*/
        String input = in.next();
        if (input.charAt(0) == '0') {
            out.write("-1\n");
        } else {
            long n = Long.parseUnsignedLong(input, 2);
            int m = 0;

            long s = n;
            while (s > 0) {
                m++;
                s = s >> 1;
            }

            long finish = (1l << m) - 1l;
            int k = 0;
            while (n < finish) {

                int b = bins(n, m);

                n = n | (n >>> b);
                k++;
            }

            out.format("%d\n", k);
        }
        out.close();
    }

    static int bins(long n, int m) {
        int b = 0;
        for (int o = m - 1; o > 0; o--) {
            if (((n >>> o) & 1l) != 0) {
                b++;
            } else {
                return b;
            }
        }

        return b;
    }

    static class InputReader {

        BufferedReader reader;
        StringTokenizer tokenizer;

        public InputReader(InputStream stream) {
            reader = new BufferedReader(new InputStreamReader(stream), 64000);
            tokenizer = null;
        }

        public String next() {
            while (tokenizer == null || !tokenizer.hasMoreTokens()) {
                try {
                    tokenizer = new StringTokenizer(reader.readLine());
                } catch (Exception e) {
                    System.err.print("InputReader chyba");
                }

            }
            return tokenizer.nextToken();
        }

        public int nextInt() {
            return Integer.parseInt(next());
        }

    }
}
