import std.stdio;
import std.c.stdio;
import std.range;
import std.array;
import std.functional;
import std.algorithm;
import std.conv;
import std.container;
import std.math;
import std.numeric;
import std.string;
import std.c.string;
import std.regex;
import std.typecons;
 
void main() {
    string s = readln.chomp;

    long F(long p, long q) {
        long x2 = p + q,
             y2 = q - p;
        if (x2 % 2 == 1) return 0;
        if (y2 % 2 == 1) return 0;
        if (x2 < 0) return 0;
        if (y2 < 0) return 0;
        //writeln([x2, y2]);
        return 1;
    }
    
    long Ans = 0;
    Ans += F(0, s.to!int);
    for (int i = 1; i < s.length; i++) {
        if (s[i] == '0') continue;
        Ans += F(s[0 .. i].to!int, s[i .. $].to!int);
    }
    Ans += F(s.to!int, 0);
    writeln(Ans);
}