Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

func main() {
	for sc.Scan() {
		s := strings.Split(sc.Text(), " ")
		a, _ := strconv.Atoi(s[0])
		b, _ := strconv.Atoi(s[1])
		fmt.Println(len(fmt.Sprint(a + b)))
	}
}

C++: #include<iostream>
using namespace std;
int main()
	{
		int a, b, sum, result = 0;
		while (scanf("%d %d", &a, &b) != EOF)
		{
			sum = a + b;
			while (sum > 0){
				sum /= 10;
				result++;
			}
			cout << result<<endl;
		}

		return 0;
	
}

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

int main()
{
	int a, b;

	while (cin >> a >> b) {
		int s = a + b, t = 0;

		while (s > 0) {
			s /= 10;
			t++;
		}

		cout << t << endl;
	}

	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
long i,j,a,b,c;
for(i=0;i<200;i++){
cin>>a>>b;
if(cin.eof())break;
c=a+b;
for(j=0;j<6;j++){c/=10;if(c==0)break;}
cout<<j+1<<endl;
}
return 0;
}