Go: package main

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

func sliceAtoi(sa []string) ([]int, error) {
	si := make([]int, 0, len(sa))
	for _, a := range sa {
		i, err := strconv.Atoi(a)
		if err != nil {
			return si, err
		}
		si = append(si, i)
	}
	return si, nil
}

func getDigits(ary []int) (digits int) {
	sum := 0
	for _, v := range ary {
		sum += v
	}

	for sum != 0 {
		sum /= 10
		digits++
	}
	return
}

func getsTwoNumAsArray() (nums [][]int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}

		ary, _ := sliceAtoi(strings.Split(str, " "))
		nums = append(nums, ary)
	}

	return
}

func main() {
	ary := getsTwoNumAsArray()

	for _, v := range ary {
		fmt.Println(getDigits(v))
	}
}

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<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;
}