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
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <tuple>
using namespace std;
using ll=long long;
int nain(char a)
{
  return int(a)-int('0');
}
int main()
{
  std::ios_base::sync_with_stdio(false);
  std::cin.tie(NULL);
  string a, b, c;
  cin >> a >> b >> c;
  int n=a.size();
  int s[n], nas[n]={};
  //vector<pair<int, int>> zak;
  int dlu=0;
  long long wyn=0;
  for (int i=0;i<n;i++)
  {
    if ((nain(a[i])+nain(b[i]))%10==nain(c[i]))
    {
      s[i]=0;
    }
    else if((nain(c[i])-nain(a[i])-nain(b[i]))%10==1)
    {
      s[i]=1;
    }
    else
    {
      s[i]=-1;
    }
    if (nain(a[i])+nain(b[i])>9)
    {
      nas[i]=1;
    }
    else if (nain(a[i])+nain(b[i])==9)
    {
      nas[i]=9;
    }
    
  }
  bool spr=false;
  for (int i=0;i<n;i++)
  {
    if (not spr)
    {
      if (s[i]>=0)
      {
        if (nas[i]==1)
        {
          dlu=0;
          if (i!=0)
          {
            dlu=1;
          }
        }
        else
        {
          dlu++;
        }
        if(s[i]==1)
        {
          spr=true;
        }
      }
      else
      {
        dlu=0;
      }
    }
    else
    {
      if (s[i]>=0)
      {
        if (nas[i]==1)
        {
          spr=false;
          if (s[i]==1)
          {
            spr=true;
          }
        }
        else if (nas[i]==9)
        {
          if (s[i]==0)
          {
            dlu=1;
            spr=false;
          }
        }
        else
        {
          dlu=1;
          spr=false;
          if (s[i]==1)
          {
            spr=true;
          }
        }
      }
      else
      {
        dlu=0;
        spr=false;
      }
    }
    if (not spr)
    {
      wyn+=dlu;
    }
  }
  cout << wyn;
}