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 <stdio.h>
#include <algorithm>
#include <math.h>
#include <vector>
#include <string>
#include <sstream>

#define rep(i, j) for(int i = 0; i < j; i++)
#define all(i) i.begin(), i.end()
#define ll long long
#define bl bool
#define nn printf("\n");
#define mod 1000000007

using namespace std;

string Num2Str(int num)
{
	stringstream ss;
	ss << num;
	return ss.str();
}
int main()
{
	cin.tie(0);
	ios::sync_with_stdio(false);

	int a = 0, b = 0;
	while (cin >> a >> b)
	{
		int sum = a + b;
		string str;
		str = Num2Str(sum);
		printf("%d\n", str.size());
	}
	return 0;
}

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

int main(){

	int a[3];
	int b[3];
	int c[3];
	int f[3] = {1,1,1} ;

	for(int i = 0; i < 3; ++i){
	cin >> a[i] >> b[i];
	}

	for(int i = 0; i < 3; ++i){
		c[i] = a[i] + b[i];
		while(1){
			c[i] = c[i] / 10;

			if(c[i] <= 0){
				break;
			}
			++f[i];
			}
	}

	for(int i = 0; i < 3; ++i){
	cout << f[i] << '\n';
	}

	return 0;
}

C++: #include<stdio.h>

int main(){
	
	int num1,num2,sum=0,i;
	while(scanf("%d %d",&num1,&num2)!=EOF){
	
	sum=num1+num2;
	
	for(i=0;sum>0;++i){
		sum=sum/10;
	}
	printf("%d\n",i);
	}
	return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <string>
#include <vector>
#include <queue>
#include <bitset>
#include <set>
#include <queue>

#define rep(i,n) for(int i=0;i<n;i++)
#define REP(i,b,n) for(int i=b;i<n;i++)

const float PI = 3.1415926;
static const int INFTY = (1<<30);

using namespace std;

typedef long long ll;
typedef long double ld;

int n, a, b, res;

int main() {
  rep(i,3) {
    cin >> a >> b;
    n = a+b;
    if(n %10 == 0) n++;
    res = 0;
    
    while(n>0) {
      n /= 10;
      res++;
    }
    cout << res << endl;
  }

  return 0;
}

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

using namespace std;

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

C++: #include <stdio.h>

int main() {
    int a;
    int b;
    while (scanf("%d %d", &a, &b)) {
    int result = a + b;
    int digit = 0;
    while (result != 0) {
        digit++;
        result /= 10;
    }

    printf("%d\n", digit);
    }
}

C++: #include <cstdio>
#include <cstring>
#include <cstdlib>


int main()
{
    int a,b;
    char str[32], *p;
    while(1){
        gets(str);
        if(strlen(str) < 3)return 0;
        a = atoi(strtok(str, " "));
        b = atoi(strtok(NULL, " "));
        sprintf(str,"%d",a+b);
        printf("%d\n",strlen(str));
    }
}

C++: #include <iostream>
using namespace std;
int main(){
	int a,b,x,y,k=1;
	cin >> a >> b;
	x=a+b;
	while(true){
		if(x<10){
			break;
		}
		x=x/10;
		k=k+1;

	}cout << k << endl;
	return 0;
}

C++: #include<stdio.h>
#include<iostream>
using namespace std;
int main(){
	int a = 0, b = 0;
	int i = 0;
	cin >> a >> b;
	int c = a + b;
	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(){
	
	int a,b,i=1,c,d=1;
	cin>>a>>b;
	c=a+b;
	while(c/d!=0){
		if(c/d!=0){
			d=d*10;
			i++;
		}
		else{
			break;
		}
	}
	i=i-1;
	cout<<i<<endl;
	
				
	return 0;
}

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

int main() {
    int a, b;
    while(~scanf("%d %d", &a, &b))
      printf("%ld\n", std::to_string(a + b).size());
}

C++: #define scanf_s scanf
#include <string>
#include <stdio.h>
#include <math.h>
#include <stack>
#include <queue>
#include <list>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
#define MAX 200
int main(void)
{
	int a, b, i, sum, cou = 0;
	int ans[MAX] = { 0 };
	while (scanf_s("%d %d", &a, &b) != 0) {
		sum = a + b;
		++ans[cou];
		if (sum != 0){
			while (1) {
				if (sum <= 1) break;
				sum /= 10;
				++ans[cou];
			}
		}
		++cou;
	}
	for (i = 0; i < cou; ++i) {
		if (i != 0) printf("\n");
		printf("%d", ans[i]);
	}
}

C++: #include <iostream>
using namespace std;
int main(){
    int a,b,sum=0,count;
    while(cin>>a>>b){
        count++:
        sum=a+b;
        if(sum<10)cout<<"1"<<endl;
        else if(sum<100)cout<<"2"<<endl;
        else if(sum<1000)cout<<"3"<<endl;
        else if(sum<10000)cout<<"4"<<endl;
        else if(sum<100000)cout<<"5"<<endl;
        else if(sum<1000000)cout<<"6"<<endl;
        else if(sum<10000000)cout<<"7"<<endl;
        else if(sum<100000000)cout<<"8"<<endl;
        
        if(count==200)break;
        
    }
    return 0;
}

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

int main() {

    int a, b;

    while (cin >> a >> b) {
        cout << a+b << endl;
    }
     
    return 0;

}

C++: #include<iostream>

using namespace std;

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

  n = 0;
  
  while(cin >> a >> b){
  
   sum = a + b;
   count = 0;
   
   for(int i = sum; i >= 1; i/10){
    count++;
   }
    
   cout << count << endl;
    
  }
  
 return 0;
}

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

		return 0;
	
}

C++: #include <iostream>
using namespace std;
int main(void){
    int a,b = 1;
    int ans,line = 0;
    
    while(std::cin >>a>>b){
        ans = a + b;
        ans /= 10;
        if(ans  <= 9){
            ans = 2;
        }
        else if(ans <= 99){
            ans = 3;
        }
        else if(ans <= 999){
            ans = 4;
        }
        std::cout << ans << std::endl;
    }
    return 0;
}

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


int main(){

  int a,b;

  while(cin >> a >> b){
    int count = 1;
    a += b;
    while(a / 10 != 0){
      a /= 10;
      count++;
    }
    cout << count << endl;
    count = 1;
  }


    return 0;
}

C++: #include <iostream>

using namespace std;

int main(){
	int a, b, c;
	int i = 1;

	cin >> a >> b;
	c = a+b;

	while(1){
		if (c<10) break;
		c = c/10;
		i++;
	}
	

		cout << i << endl;
}