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<stdio.h>

int main(void){
	int a,b,sum,keta,count,answer[200]={'0'};
	
	for(count=0;count<200;count++){
		keta=1;
		scanf("%d %d",&a,&b);
		sum=a+b;
		if(sum/10!=0){
			keta++;
			if(sum/100!=0){
				keta++;
				if(sum/1000!=0){
					keta++;
					if(sum/10000!=0){
						keta++;
						if(sum/100000!=0){
							keta++;
							if(sum/1000000!=0){
								keta++;
							}
						}
					}
				}
			}
		}
		answer[count]=keta;
	}
	for(sum=0;sum<count;sum++){
		printf("%d\n",answer[sum]);
	}
	return 0;
}

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

int main(){
int i = 0;
for(i = 1;i <= 200;i++){
int a = -1;int b = -1;
cin >> a >> b;
if(a < 0){
break;
}
else if(a + b < 10){
cout << 1 << endl;
}
else if(a + b < 100){
cout << 2 << endl;
}
else if(a + b < 1000){
cout << 3 << endl;
}
else if(a + b < 10000){
cout << 4 << endl;
}
else if(a + b < 100000){
cout << 5 << endl;
}
else if(a + b < 1000000){
cout << 6 << endl;
}
else {
cout << 7 << endl;
}
}
    return 0;
}

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

int main() {
  long long int a, b;
  while(cin >> a >> b) {
  long long int sum = a+b;
  //cout << sum << endl;
  

  int cnt = 1;
  while(sum /= 10) cnt++;

  cout << cnt << endl;
  }
}

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

#define INPUTSIZE 10

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

    cin >> a;
    cin >> b;
    sum = a + b;

    int digit;
    while (sum > 0) {
        sum /= 10;
        digit++;
    }
    cout << digit << endl;

    return 0;
}

C++: //
//  main.cpp
//  Sample
//
//  Created by h3037183 on 2017/07/31.
//  Copyright ?? 2017??´ ?°????. All rights reserved.
//

#include <iostream>
using namespace std;
int main(){
    int i, j;
    while(cin >> i >> j){
        
        i += j;
        j = 0;
        
        while( i > 0, j++, i /=  10);
        cout << j << endl;
    }
    return 0;
}

C++: #include <iostream>

using namespace std;

int main() {
	int a, b, count;

	while (cin >> a >> b) {
		a += b;
		count = 0;

		while (a > 0) {
			a /= 10;
			count++;
		}

		cout << count << endl;
	}
	return 0;
}

C++: #include<string>
#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	int a,b;
	cin >> a>>b;
 string x=IntToString(a+b);
cout<<x.size()<<endl;
return 0;
}
string IntToString(int number)
{
  string stream ss;
  ss << number;
  return ss.str();
}

C++: HAhahahah
xwhdxjwhxkedx
ed
edc
de
ce
cde
cejdlcekdjlekjcded
cedjedejdklkexjelkxjlkexdjlx

C++: #include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
#include<stdio.h>
#include<cmath>
#include<vector>
#include<utility>
#include<stack>
#include<queue>

#define FOR(i, a, b) for(int i=(a);i<=(b);i++)
#define RFOR(i, a, b) for(int i=(a);i>=(b);i--)
#define MOD 1000000007

using namespace std;

int main(void) {
	int a, b;
	int c;
	FOR(i, 1, 200) {
		cin >> a >> b;
		c = a + b;
		FOR(i, 1, 100) {
			c /= 10;
			if (c == 0) {
				cout << i << endl;
				break;
			}
		}
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

int main()
{
	int a,b;
	for(int i =0;i < 200;i++)
	{
		cin >> a >> b;
		a += b;
		int count = 0;
		while(true)
		{
			count++;
			if(a / 10 == 0)
			{
				break;
			}
			a = a / 10;
		}
		cout << count << endl;
		a = b = count = 0;
	}
}

C++: #include<stdio.h>
int main(void) {
	int a, b, d = 1;
	while (scanf("%d %d", &a, &b) != EOF) {
		for (size_t i = 10; ; i *= 10)
		{
			if ((a + b) / i == 0)break;
			d++;
		}
		printf("%d\n", d);
		a = 0; b = 0; d = 1;
	}
	return 0;
}

C++: #include<stdio.h>
int main()
{
	int a[256],b[256],i=0,d;
	int m[256],c;
	while(scanf("%d %d",&a[i],&b[i])!=EOF){
		m[i]=a[i]+b[i];
		i++;
		d=i;
	}
	for(i=0;i<d;i++){
		c=0;
		for(;;){
			c++;
			if((m[i]/=10)==0)break;
		}
		printf("%d\n",c);
	}
	return 0;
}

C++: #include<stdio.h>
#include<string>
#include<iostream>

int main(){
    int a, b;
    while (std::cin >> a >> b){
        std::string sum = std::to_string(a+b);
        printf("%ld\n", sum.length());
    }
    return 0;
}

C++: #include <iostream>
using namespace std;
 
int main() {
	int a,b,c;
	int n=10;
	while(cin>>a>>b){
	    c=a+b;
	    n=10;
	    for(int i = 0;i<7;i++){
 
	        if(c%n == c){
	            cout<<i+1<<endl;
	            break;
	        }
 
	        n=n*10;
	    }
	}
	return 0;
}

C++: #include<stdio.h>
#include<math.h>

int main(void){

	int a,b;


	scanf("%d %d",&a,&b);

	if(a+b == 0)
		printf("%d",1);
	else
		printf("%d",(int)log10((a+b)*1.0)+1);

	return 0;

}

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

int main() {
    int a, b;
    while (true) {
        //cin >> a >> b;
        scanf("%d %d",&a,&b);
        int sum=a+b;
        int ans=0;
        while (true) {
            sum/=10;
            ans++;
            if (sum<=0) {
                break;
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
    int a[1000000],b[1000000],i,j;
    for(i=0;i<200;i++){
        cin>>a[i]>>b[i];
        if(a[i]+b[i]<10){
            cout<<"1"<<endl;
        }
        else if(a[i]+b[i]<100){
            cout<<"2"<<endl;
        }
        else if(a[i]+b[i]<1000){
            cout<<"3"<<endl;
        }
        else if(a[i]+b[i]<10000){
            cout<<"4"<<endl;
        }
        else if(a[i]+b[i]<100000){
            cout<<"5"<<endl;
        }
        else if(a[i]+b[i]<1000000){
            cout<<"6"<<endl;
        }
        else if(a[i]+b[i]<=1999999){
            cout<<"7"<<endl;
        }
    }
    return 0;
}

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

int main(){
	int a, b;
	while(cin >> a >> b){
		int x = a + b;
		int digit = 0;
		for(int i = 1; i <= x; i = i * 10) digit++;
		cout << digit << endl;
	}
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;

int main(){
	int a,b;
	cin >> a >> b;
	int s = a+b;
	int ans = 0;
	while(s){
		ans++;
		s /= 10;
	}
	if( a+b == 0 ) cout << 1 << endl;
	else cout << ans << endl;
}

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

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

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

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef complex<double> P;
typedef pair<int,int> pii;
#define REP(i,n) for(ll i=0;i<n;++i)
#define REPR(i,n) for(ll i=1;i<n;++i)
#define FOR(i,a,b) for(ll i=a;i<b;++i)

#define DEBUG(x) cout<<#x<<": "<<x<<endl
#define DEBUG_VEC(v) cout<<#v<<":";REP(i,v.size())cout<<" "<<v[i];cout<<endl
#define ALL(a) (a).begin(),(a).end()

#define MOD (ll)(1e9+7)
#define ADD(a,b) a=((a)+(b))%MOD
#define FIX(a) ((a)%MOD+MOD)%MOD

int main(){
  int a,b;
  while(~scanf("%d%d",&a,&b)){
    int c = a+b;
    int cnt = 1;
    while(c/=10)++cnt;
    cout<<cnt<<endl;
  }
  return 0;
}

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

int main(){
	int a;
	int b;
	int sum;

	while (cin >> a >> b){
		sum = a + b;
		int count = 0;
		while (true)
		{
			count++;
			sum = sum / 10;
			if (sum == 0) break;
		}
		cout << count << endl;
	}

	return 0;
}