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