Go: package main

import (
        "fmt"
        "os"
        "bufio"
        "strings"
        "strconv"
)

func main() {
        sc := bufio.NewScanner(os.Stdin)

        for sc.Scan() {
                digits := 0
                num := 0
                for _, s := range strings.Fields(sc.Text()) {
                        i, _ := strconv.Atoi(s)
                        num += i
                }
                for num > 0 {
                        digits += 1
                        num /= 10
                }
                fmt.Printf("%d\n", digits)
        }
}

C++: #include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <stack>
#include <queue>
#include <set>
#include <map>
#include <utility>
#include <ctime>
#define INF 999999999
#define mod 1000000007

#define rep(i,n) for(int i=0;i<int(n);i++)
#define rrep(i,n) for(int i=(n);i>=0;i--)
#define REP(i,a,b) for(int i=(a);i<int(b);i++)
#define all(x) (x).begin(),x.end()
#define pb push_back
#define MOD(x) (x%(mod))
using namespace std;

typedef long long ll;
typedef unsigned long long ull;
typedef vector<int> vi;
typedef pair<int,int> pi;

bool debug=false;
/*---------------------------------------------------*/

int main(){
    int a,b,sum,keta;
    while(cin>>a>>b){
        sum=a+b;
        for(keta=1;;keta++){
            sum=sum/10;
            if(sum==0)break;
        }
        cout<<keta<<endl;
    }
    return 0;
}

C++: #include<iostream>

using namespace std;
 
int main(){
  int x[3],y[3],sum,i;
  int digit[3] = {0};

  for(i=0; i<3; ++i){
    cin >> x[i] >> y[i];
    if(x[i] < 0 || 1000000 < x[i] || y[i] < 0 || 1000000 < y[i]){
      //NG
    }
  }

  for(i=0; i<3; ++i){
    sum = x[i] + y[i];

    if(sum == 0){
      digit[i] = 1;

    }

    while(sum != 0){
      sum = sum / 10;
      ++digit[i];
    }
  }

  for(i=0; i<3; ++i)
    cout << digit[i] << "\n";

    return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
	int a,b,c;
	int ans;
	int cnt=-1;
	
	while(cin>>a>>b){
		cnt++;
		//-----test-----
		if(a!=1171) break;
		
		//--------------
		c=a+b;
		ans=1;
		while(10<=c){
			c/=10;
			ans++;
		}
		cout<<ans<<endl;
	}
	
	return 0;
}

C++: #include <iostream>
#include <stdio.h>
#include <math.h>
#include <string>
using namespace std;

int main(){

  int a, b;
  
  while( cin >> a){
    int count=0;
    cin >> b;
    double x = a + b;

    while(1){
      x = x / 10;
      count++;
      if(x < 1) break;
    }
    cout << count << endl;
  }
   
  
  return 0;
}

C++: #include<iostream>
using namespace std;

int main(){
	int a[200],b[200];
	int i=0;	
	while(cin >> a[i] >> b[i] ){i++;}

	for (int j=0;j<i;j++){
	int c = a[j] +b[j];
	int s=0;
	while(c/10!=0){
		s++;
		c = c/10;
	}
	cout << s+1 <<endl;
	}
		
    return 0;
}

C++: #include<bits/stdc++.h>

using namespace std;
typedef long long ll;

int main(){
    
    ios_base::sync_with_stdio(0);
    int a,b;
    while(scanf("%d %d" , &a,&b) != EOF){
        //cin>>a>>b;
        ll sum = a+b;
        int cnt=0;
        string res="";
        while(sum){
            res += ((sum%10)+'0');
            sum /= 10;
        }
        cout<<res.length()<<endl;
    }
    return 0;
}

C++: #include <cstdio>
#include <iostream>

using namespace std;

int main(void)
{

	for(int i = 0; i < 3; i++){
		int a, b;
		scanf("%d %d", &a, &b);
		a+=b;
		int d;
		for(d = 1; a > 0; d++){
			a /= 10;
		}
		cout << d << endl;
	}

	return 0;
}

C++: #include<stdio.h>
#include<math.h>
int main(){
	int a,b;
	while(~scanf("%d%d",&a,&b)){
		printf("%d\n",(int)log10((double)(a+b))+1);
	}
}

C++: #include <stdio.h>
#include <math.h>
#include <iostream>
using namespace std;

int main(void){
	int a,b;
	double sum;
	int dig;

	std::cin >> a >> b;
	sum = (double)a+(double)b;
	dig = floor(log(sum)/log(10.0));
	std::cout << dig+1 << "\n";
	return 0;
}

C++: #include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
  int a, b, cnt;
  string s;
  getline(cin, s, ' ');
  a = stoi(s);
  getline(cin, s);
  b = stoi(s);
  a += b;
  cnt = 0;
  if (a == 0) {
    cnt = 1;
  } else {
    while (a) {
      cnt++;
      a /= 10;
    }
  }
  cout << cnt << endl;
  return 0;
}

C++: #include <iostream>
#include <cmath>
int main() {
 int a,b;
 while (std::cin >> a >> b)
  std::cout << trunc(log10(a+b))+1 << std::endl;
 return 0;
}

C++: #include<iostream>
using namespace std;
int keta(int n){
  static int cnt=0;
  if(n>0){
    cnt++;
    return keta(n/10);
  }else{
    return cnt;
  }
}
int main(){
  int a,b;
  int n;
  cin>>a>>b;
  a+=b;
  n=keta(a);
  cout<<n<<endl;
  return 0;
}

C++: #include <iostream>
using namespace std;

int main(){
	int a,b,c;
	int ans;
	
	for(int i=0;i<103;i++){
		cin>>a>>b;c=a+b;
		//-----test-----
		i
		//--------------
		ans=1;
		while(10<=c){
			c/=10;
			ans++;
		}
		cout<<ans<<endl;
	}
	
	return 0;
}

C++: #include <iostream>
using namespace std;
int main(void){
  int a, b, sum, count;
  
  while(true) {
    cin >> a >> b;
    
    count = 0;
    sum = a + b;
    if (sum == 0) {
      count++;
    } else {
      while(sum != 0) {
        sum /= 10;
        count++;
      }
    }
    cout << count << endl;
    
    if ( cin.eof() ) { break; }
  }
}

C++: #include <cstdio>

using namespace std;

int main(void){
	int x, y, i, p;
	while(scanf("%d%d",&x,&y) != EOF){
		p = 10;
		for(i = 1;p <= x + y;i++){
			p *= 10;
		}
		printf("%d\n",i);
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

int z,x,y;
int main(){
 cin>>x>>y;
 z=x+y;
 z>=0;
if(z<10){
	cout<<1<<endl;}
else
 if(z<100){
 	cout<<2<<endl;}
 else
  if(z<1000){
  	cout<<3<<endl;}
  else
   if(z<10000){
   	cout<<4<<endl;}
   else
    if(z<100000){
     cout<<5<<endl;}
    else
     if(z<1000000){
      cout<<6<<endl;}
     else
      cout<<7<<endl;

return 0;
	
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
	    int a,b;
	    while(cin>>a>>b)
	    {
		cin>>a>>b;
		int c =7;
		for (int d =1000000;d>=0;d=d/10)
		{
			if((a+b)/d>=1)
		   {
			   cout<<c<<endl;
			   break;
		}
			else c=c-1;
			}
	}
}

C++: #include <iostream>
#include <vector>
#include <math.h>
#include <stdio.h>
using namespace std;

int main(void) {
	int a=0,b=0,n=1;
	vector<int> r;
	while (scanf("%d %d",&a,&b) != EOF)
	{
		n=1;
		while ((a+b)>=pow(10,n))
		{
			n++;
		}
		r.push_back(n);
	}
	for (int i=0;i<r.size();i++)
	{
		cout << r[i] << endl;
	}
	return 0;
}

C++: #include<iostream>
using namespace std;
main(){
	int a,b;
	while(cin>>a>>b){
		a+=b;
		b=0;
		for(int i=0;a>0;++i){
			a/=10;
			++b;
		}
		cout<<b<<endl;
	}
}

C++: #include<iostream>
using namespace std;

int main(){
	int a[200],b[200],i=0;
	while(cin>>a[i]){
		cin>>b[i];
		i++;
	}
	for(int j=0;j<i;j++){
		cout<<a[j]+b[j]<<endl;
	}
    return 0;
}

C++: #include<bits/stdc++.h>

using namespace std;

main(){
	int a,b;
	while(cin >> a >> b){
		int s=1;
		int g=0;
		int d=a+b;
	while(d >= 1){
		d=d/10;
		g=g+1;
	}
	printf("%d\n",g);
	}
}

C++: #include <iostream>
#include <algorithm>
using namespace std;

int main(){
	int a,b,s,i,n;
	for(i=0;i<200;i++){
	cin >> a >> b;
	n=0;
	s=a+b;
	while(s!=0){
	s/=10;
	n++;
	}
	cout << n << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <sstream>
#include <string>
#include <vector>

using namespace std;

int main(){
  int a,b;
  stringstream c;
  vector<int> d;
  while(cin >> a >> b){
    c.str("");
    c << a+b;
    string str = c.str();
    d.push_back(str.length());
  }

  for(int i=0; i<d.size(); i++){
    cout << d[i] << endl;
  }

  return 0;
}

C++: #include <iostream>

using namespace std;

int main()
{
    int a, b, sum, digit, div;

    while(cin >> a >> b){
        sum = a + b;

        digit = 1;
        div = 10;

        while(sum / div){
            ++digit;
            div *= 10;
        }
	cout << digit << endl;
    }
}