INF = 10 ** 20 import sys sys.setrecursionlimit(100000000) dy = (-1,0,1,0) dx = (0,1,0,-1) from heapq import heappop,heapify,heappush from bisect import bisect_left def main(): n = list(input()) + ['0','0'] ans = 0 cnt_0 = 0 flag = False cnt_1 = 0 for i in range(len(n) - 2): if n[i] == '1': cnt_1 += 1 if n[i] == '1' and n[i + 1] == '0' and n[i + 2] == '0': if cnt_1 > 1: flag = True if flag: ans += cnt_0 + 2 cnt_0 = 0 cnt_1 = 0 flag = False else: ans += cnt_0 + 1 cnt_0 = 0 cnt_1 = 0 if n[i] == '1' and n[i + 1] == '0' and n[i + 2] == '1': cnt_0 += 1 if cnt_1 > 1: flag = True cnt_1 = 0 print(ans) if __name__ == '__main__': main()