n = str(input()) INF = 10**18 n = list(n) n.reverse() n += ['0'] dp = [INF]*2 dp[0] = 0 for c in n: nx = [INF]*2 if c == '0': nx[0] = min(nx[0], dp[0]) nx[0] = min(nx[0], dp[1]+1) nx[1] = min(nx[1], dp[1]+1) else: nx[0] = min(nx[0], dp[0]+1) nx[1] = min(nx[0], dp[0]+1) nx[1] = min(nx[1], dp[1]) dp = nx print(min(dp))