1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
A = input().strip()
B = input().strip()
C = input().strip()
n = len(A)-1
i = 0
tablica = [0 for _ in range(len(A))]
pozdro = 2
while i<=n:
    a = int(A[i])
    b = int(B[i])
    c = int(C[i])
    if a+b == c:
        tablica[i]=1
        i+=1
    elif a+b+1 == c:
        idx = i
        i+=1
        if i<=n:
            a = int(A[i])
            b = int(B[i])
            c = int(C[i])
        while i<=n and (a+b+1)%10==c and a+b+1>=10:
            i+=1
            if i>n:
                break
            a = int(A[i])
            b = int(B[i])
            c = int(C[i])
        if i != n+100:
            if a+b == c:
                tablica[i]=1
            elif (a+b)%10 == c and a+b>=10:
                while idx <= i:
                    tablica[idx] = pozdro
                    idx+=1
                pozdro+=1
    else:
        i+=1
        continue
res = 0
i = 0
while i <=n:
    if tablica[i]==1:
        res += 1
        tmp = 0
        i+=1
        while i<=n and tablica[i]>0:
            if tablica[i]>1 and tablica[i-1]!=tablica[i]:
                tmp+=1
                res+=1
            if tablica[i]==1:
                tmp+=1
                res+=1
            i+=1
        if tmp>0:
            res += ((tmp+tmp*tmp)//2)
    elif tablica[i]>1:
        res+=1
        tmp = 0
        i += 1
        while i<=n and tablica[i] > 0:
            if tablica[i] > 1 and tablica[i-1]!=tablica[i]:
                res+=1
                tmp += 1
            if tablica[i] == 1:
                tmp += 1
                res += 1
            i += 1
        if tmp > 0:
            res += ((tmp + tmp * tmp) // 2)
    else:
        i+=1
print(res)