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
s1 = input()
s2 = input()
s3 = input()

def brut(s1,s2,s3):
	n = len(s1)
	ile=0
	for i in range(n):
		for j in range(i,n):
			if int(s1[i:j+1])+int(s2[i:j+1])==int(s3[i:j+1]):
				ile += 1
	return ile
	
def efi(s1,s2,s3):
	n = len(s1)
	
	zgodne = 0
	prawie = 0
	ile = 0
	
	for i in range(n-1,-1,-1):
		a,b,c = int(s1[i]),int(s2[i]),int(s3[i])
		if zgodne>0:
			if a+b==c:
				zgodne += 1
			elif a+b==c+10:
				prawie = zgodne+1
				zgodne = 0
			else:
				zgodne = 0
		elif prawie>0:
			if a+b==c:
				prawie = 0
				zgodne = 1
			elif a+b==c+10:
				prawie = 1
			elif a+b+1==c:
				zgodne = prawie
				prawie = 0
			elif a+b+1==c+10:
				prawie = prawie
			else:
				prawie = 0
		else:
			if a+b==c:
				zgodne = 1
			elif a+b==c+10:
				prawie = 1
	
		ile += zgodne
		#print(a,b,c,zgodne,prawie)
	return ile

print(efi(s1,s2,s3))
# print(brut(s1,s2,s3))

# from random import randint
# for i in range(10):
# 	n = 100
# 	s1 = ''.join(str(randint(0,9)) for _ in range(n))
# 	s2 = ''.join(str(randint(0,9)) for _ in range(n))
# 	s3 = ''.join(str(randint(0,9)) for _ in range(n))
# 	e = efi(s1,s2,s3)
# 	b = brut(s1,s2,s3)
# 	if e != b:
# 		print(s1)
# 		print(s2)
# 		print(s3)
# 		print(efi(s1,s2,s3),brut(s1,s2,s3))