#include <bits/stdc++.h>
using namespace std;
vector<int> trans;
//1 - zgadza sie bez pusha
//2 - zgadza sie i push
//3 - potrzebuje pusz i wtedy ok
//4 - potrzbuje pusz i wtedy pusz
//5 - kodon stop
const int s = 1e6+9;
bool valid[s];
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(0);
string a,b,c;
cin>>a>>b>>c;
reverse(a.begin(),a.end());
reverse(b.begin(),b.end());
reverse(c.begin(),c.end());
int n = a.length();
for (int i = 0; i < n; i++) {
int f = a[i] - '0';
int s = b[i] - '0';
int goal = c[i] - '0';
if (f + s == goal) {
trans.push_back(1);
continue;
}
if ((f+s)-10 == goal) {
trans.push_back(2);
continue;
}
if (f+s+1 == goal) {
trans.push_back(3);
continue;
}
if ((f+s+1)-10 == goal) {
trans.push_back(4);
continue;
}
trans.push_back(5);
}
int count = 0;
int last = -1;
int ans = 0;
for (int i = 0; i<n; i++) {
if (trans[i] == 1) {
if (last == 3) {
if (valid[i]) {
count++;
}
}else {
ans += count*(count+1)/2;
count = 1;
}
valid[i+1] = true;
}
if (trans[i] == 2) {
if (!(last == 1 or last == 3)) {
ans += count*(count+1)/2;
count = 0;
}
valid[i+1] = true;
}
if (trans[i] == 3) {
if (!(last == 2 or last == 4)) {
ans += count*(count+1)/2;
count = 0;
}else {
if (valid[i]) {
count++;
}
}
valid[i+1]=valid[i];
}
if (trans[i] == 4) {
if (last != 2) {
ans += count*(count+1)/2;
count=0;
}
valid[i+1]=valid[i];
}
if (trans[i] == 5) {
ans += count*(count+1)/2;
count=0;
valid[i] = false;
}
last = trans[i];
}
ans += count*(count+1)/2;
cout << ans << endl;
}
I2luY2x1ZGUgPGJpdHMvc3RkYysrLmg+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CnZlY3RvcjxpbnQ+IHRyYW5zOwovLzEgLSB6Z2FkemEgc2llIGJleiBwdXNoYQovLzIgLSB6Z2FkemEgc2llIGkgcHVzaAovLzMgLSBwb3RyemVidWplIHB1c3ogaSB3dGVkeSBvawovLzQgLSBwb3RyemJ1amUgcHVzeiBpIHd0ZWR5IHB1c3oKLy81IC0ga29kb24gc3RvcApjb25zdCBpbnQgcyA9IDFlNis5Owpib29sIHZhbGlkW3NdOwppbnQgbWFpbigpIHsKICAgIGlvc19iYXNlOjpzeW5jX3dpdGhfc3RkaW8oZmFsc2UpOwogICAgY2luLnRpZShOVUxMKTsKICAgIGNvdXQudGllKDApOwogICAgc3RyaW5nIGEsYixjOwogICAgY2luPj5hPj5iPj5jOwogICAgcmV2ZXJzZShhLmJlZ2luKCksYS5lbmQoKSk7CiAgICByZXZlcnNlKGIuYmVnaW4oKSxiLmVuZCgpKTsKICAgIHJldmVyc2UoYy5iZWdpbigpLGMuZW5kKCkpOwogICAgaW50IG4gPSBhLmxlbmd0aCgpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBpbnQgZiA9IGFbaV0gLSAnMCc7CiAgICAgICAgaW50IHMgPSBiW2ldIC0gJzAnOwogICAgICAgIGludCBnb2FsID0gY1tpXSAtICcwJzsKICAgICAgICBpZiAoZiArIHMgPT0gZ29hbCkgewogICAgICAgICAgICB0cmFucy5wdXNoX2JhY2soMSk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoKGYrcyktMTAgPT0gZ29hbCkgewogICAgICAgICAgICB0cmFucy5wdXNoX2JhY2soMik7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoZitzKzEgPT0gZ29hbCkgewogICAgICAgICAgICB0cmFucy5wdXNoX2JhY2soMyk7CiAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgIH0KICAgICAgICBpZiAoKGYrcysxKS0xMCA9PSBnb2FsKSB7CiAgICAgICAgICAgIHRyYW5zLnB1c2hfYmFjayg0KTsKICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgfQogICAgICAgIHRyYW5zLnB1c2hfYmFjayg1KTsKICAgIH0KICAgIGludCBjb3VudCA9IDA7CiAgICBpbnQgbGFzdCA9IC0xOwogICAgaW50IGFucyA9IDA7CiAgICBmb3IgKGludCBpID0gMDsgaTxuOyBpKyspIHsKICAgICAgICBpZiAodHJhbnNbaV0gPT0gMSkgewogICAgICAgICAgICBpZiAobGFzdCA9PSAzKSB7CiAgICAgICAgICAgICAgICBpZiAodmFsaWRbaV0pIHsKICAgICAgICAgICAgICAgICAgICBjb3VudCsrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9ZWxzZSB7CiAgICAgICAgICAgICAgICBhbnMgKz0gY291bnQqKGNvdW50KzEpLzI7CiAgICAgICAgICAgICAgICBjb3VudCA9IDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFsaWRbaSsxXSA9IHRydWU7CiAgICAgICAgfQogICAgICAgIGlmICh0cmFuc1tpXSA9PSAyKSB7CiAgICAgICAgICAgIGlmICghKGxhc3QgPT0gMSBvciBsYXN0ID09IDMpKSB7CiAgICAgICAgICAgICAgICBhbnMgKz0gY291bnQqKGNvdW50KzEpLzI7CiAgICAgICAgICAgICAgICBjb3VudCA9IDA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFsaWRbaSsxXSA9IHRydWU7CiAgICAgICAgfQogICAgICAgIGlmICh0cmFuc1tpXSA9PSAzKSB7CiAgICAgICAgICAgIGlmICghKGxhc3QgPT0gMiBvciBsYXN0ID09IDQpKSB7CiAgICAgICAgICAgICAgICBhbnMgKz0gY291bnQqKGNvdW50KzEpLzI7CiAgICAgICAgICAgICAgICBjb3VudCA9IDA7CiAgICAgICAgICAgIH1lbHNlIHsKICAgICAgICAgICAgICAgIGlmICh2YWxpZFtpXSkgewogICAgICAgICAgICAgICAgICAgIGNvdW50Kys7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgdmFsaWRbaSsxXT12YWxpZFtpXTsKICAgICAgICB9CiAgICAgICAgaWYgKHRyYW5zW2ldID09IDQpIHsKICAgICAgICAgICAgaWYgKGxhc3QgIT0gMikgewogICAgICAgICAgICAgICAgYW5zICs9IGNvdW50Kihjb3VudCsxKS8yOwogICAgICAgICAgICAgICAgY291bnQ9MDsKICAgICAgICAgICAgfQogICAgICAgICAgICB2YWxpZFtpKzFdPXZhbGlkW2ldOwogICAgICAgIH0KICAgICAgICBpZiAodHJhbnNbaV0gPT0gNSkgewogICAgICAgICAgICBhbnMgKz0gY291bnQqKGNvdW50KzEpLzI7CiAgICAgICAgICAgIGNvdW50PTA7CiAgICAgICAgICAgIHZhbGlkW2ldID0gZmFsc2U7CiAgICAgICAgfQogICAgICAgIGxhc3QgPSB0cmFuc1tpXTsKICAgIH0KICAgIGFucyArPSBjb3VudCooY291bnQrMSkvMjsKICAgIGNvdXQgPDwgYW5zIDw8IGVuZGw7Cn0=