
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.println("-1");
        } else {
            long n = Long.parseUnsignedLong(input, 2);
            int m = 0;

            long s = n;
            while (s > 0) {
                m++;
                s = s >> 1;
            }
            //m = input.length();

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

                int ideal = left(n, m);
                //int max = right(n);
                int max = 40;
                
                if(max == 0) {
                    k = -1;
                    break;
                }

                int move = ideal > max ? max : ideal;

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

            out.println(k);
        }
        out.close();
    }

    static int left(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 int right(long n) {
        long a = n ^ (n - 1l);
        int b = 0;
        while (a > 0) {
            a = a >>> 1;
            b++;
        }

        return b - 1;
    }

    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());
        }

    }
}
