George is a cat, so he really likes to play. Most of all he likes to play with his array of positive integers *b*. During the game, George modifies the array by using special changes. Let's mark George's current array as *b*<sub class="lower-index">1</sub>, *b*<sub class="lower-index">2</sub>, ..., *b*<sub class="lower-index">|*b*|</sub> (record |*b*| denotes the current length of the array). Then one change is a sequence of actions: 
 -  Choose two distinct indexes *i* and *j* (1 ≤ *i*, *j* ≤ |*b*|; *i* ≠ *j*), such that *b*<sub class="lower-index">*i*</sub> ≥ *b*<sub class="lower-index">*j*</sub>. -  Get number *v* = *concat*(*b*<sub class="lower-index">*i*</sub>, *b*<sub class="lower-index">*j*</sub>), where *concat*(*x*, *y*) is a number obtained by adding number *y* to the end of the decimal record of number *x*. For example, *concat*(500, 10) = 50010, *concat*(2, 2) = 22. -  Add number *v* to the end of the array. The length of the array will increase by one. -  Remove from the array numbers with indexes *i* and *j*. The length of the array will decrease by two, and elements of the array will become re-numbered from 1 to current length of the array. 
George played for a long time with his array *b* and received from array *b* an array consisting of exactly one number *p*. Now George wants to know: what is the maximum number of elements array *b* could contain originally? Help him find this number. Note that originally the array could contain only positive integers.
The first line of the input contains a single integer *p* (1 ≤ *p* &lt; 10<sup class="upper-index">100000</sup>). It is guaranteed that number *p* doesn't contain any leading zeroes.
def compare(a,b):
    fl = True

    if len(a) > len(b):
        return True
    elif len(a) < len(b):
        return False
    elif len(a) == len(b):
        fl = None
        for i in range(len(a)):
            if int(b[i]) > int(a[i]) and fl == None:
                fl = False
                break
            elif int(a[i]) > int(b[i]) and fl == None:
                fl = True
                break
            
        if fl == None:
            fl = True
            
        return fl

n = input()

l = []
a = ""
i = 0

while i < len(n):
    a += n[i]

    fl = False
    
    while i < len(n) and n[i] == '0':
        l[-1] += '0'
        i += 1
        fl = True

    if fl:
        a = ""
        continue

    l.append(a)

    i += 1
    a = ""

s = 1
for i in (range(1,len(l))):
    if compare(l[i-1],l[i]):
        s = s + 1
    else:
        s = 1
        
    l[i] = l[i-1] + l[i]
    l[i-1] = ''

print(s)
