import sys sys.set_int_max_str_digits(0) S = input() # 頭の0、お尻の1は捨てる material = [] flag = True for s in S: if flag: if s == '0': continue else: flag = False material.append(s) else: material.append(s) while material and material[-1] == '1': material.pop() from itertools import groupby def runLengthEncode(S): grouped = groupby(S) res = [] for k, v in grouped: res.append((k, int(len(list(v))))) return res data = runLengthEncode(material) L = len(data) ans = 0 pre1 = 0 for i in range(L//2): _, cnt1 = data[2*i] _, cnt0 = data[2*i + 1] # 引継ぎ分加算 cnt1 += pre1 # 今回の寄与 sub = (cnt1//2) * cnt0 ans += sub # 引継ぎ pre1 = (cnt1//2)*2 print(ans)