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
#include <bits/stdc++.h>

using namespace std;
int k,n,i,j,u,e,m,ad,bd,cd,r;
long long z,w,f;
vector<long long> h;
priority_queue<long long> p;
vector<vector<long long>> g;
vector<array<long long,2>> x;
vector<long long> mm;
string a,b,c;
int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cin >> a >> b >> c;
	n=a.length();f=0;
	r=0;
	for(i=0;i<n;i++) {
		ad=a[i]-'0';
		bd=b[i]-'0';
		cd=c[i]-'0';
		if(ad+bd==cd) {
			if(r==0) f++;
			else {mm.push_back(f); f=1; r=0;}
			
		}
		else if(ad+bd==cd+10 and r==1) {r=0; f++;}
		else if(ad+bd==cd+9 and r==1) continue;
		else if(ad+bd==cd-1 and r==0) {r=1;}
		else if(ad+bd==cd-1 and r==1) {r=1; mm.push_back(f); f=0;}
		else {mm.push_back(f);f=0; r=0;}
	}
	mm.push_back(f);
	z=0;
	for(auto xx:mm) {
		//cout <<xx << '\n'; 
		z+=xx*(xx+1)/2;}
	cout  << z << '\n';
}