Problem:
Score : 900 points

Problem Statement

Takahashi has an empty string S and a variable x whose initial value is 0.

Also, we have a string T consisting of 0 and 1.

Now, Takahashi will do the operation with the following two steps |T| times.

Insert a 0 or a 1 at any position of S of his choice.

Then, increment x by the sum of the digits in the odd positions (first, third, fifth, ...) of S. For example, if S is 01101, the digits in the odd positions are 0, 1, 1 from left to right, so x is incremented by 2.

Print the maximum possible final value of x in a sequence of operations such that S equals T in the end.

Constraints

1 \leq |T| \leq 2 \times 10^5

T consists of 0 and 1.

Input

Input is given from Standard Input in the following format:

T

Output

Print the maximum possible final value of x in a sequence of operations such that S equals T in the end.

Sample Input 1

1101

Sample Output 1

5

Below is one sequence of operations that maximizes the final value of x to 5.

Insert a 1 at the beginning of S. S becomes 1, and x is incremented by 1.

Insert a 0 to the immediate right of the first character of S. S becomes 10, and x is incremented by 1.

Insert a 1 to the immediate right of the second character of S. S becomes 101, and x is incremented by 2.

Insert a 1 at the beginning of S. S becomes 1101, and x is incremented by 1.

Sample Input 2

0111101101

Sample Output 2

26

Solution in Python (3.8.2) (judge verdict: Time Limit Exceeded)

def eval(string):
    return sum([int(s) if i % 2 == 0 else 0 for i, s in enumerate(string)])


def main():
    T = list(input())
    length = len(T)
    ans = eval(T)
    for _ in range(length-1):
        tmp = T[1:]
        next_T = tmp[:]
        max_score = eval(tmp)
        last_score = max_score
        for i in range(len(T)-1):
            score = last_score
            if i % 2 == 0:
                score = score + int(T[i]) - int(tmp[i])
            tmp[i] = T[i]
            if score > max_score:
                max_score = score
                next_T = tmp[:]
            last_score = score
        ans += max_score
        T = next_T[:]
    print(ans)


main()