Go: package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		row := strings.Split(scanner.Text(), " ")
		var sum int
		for _, v := range row {
			num, _ := strconv.Atoi(v)
			sum += num
		}
		fmt.Println(len([]rune(strconv.Itoa(sum))))
	}
}

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

int main(){
    int a,b,c,i;
	for(int j=0;j<250;j++){
		cin >> a >> b;
		if(a<0 || b<0)break;
		c = a+b;
		for(i=1;true;i++){
			c = c/10;
			if(c==0)break;
		}
		cout << i << endl;
	}

    
    return 0;
}

C++: #include <iostream>
#include <vector>
#include "math.h"

int main(int argc, char const *argv[]){
	int fig_1,fig_2;
	std::vector<int> dig;

	while(std::cin >> fig_1 >> fig_2){
		dig.push_back(log10(fig_1+fig_2)+1);
	}

	for (int i = 0; i < dig.size(); ++i){
		std::cout << dig[i] << std::endl;
	}

	return 0;
}

C++: #include <stdio.h>

int main(){
	int a, b, t, ans;
	
	while(1){
		ans = 0;
		scanf("%d %d", &a, &b);
		if(a == EOF)
			break;
		t = a + b;
		while(1){
			if((t / 10) == 0)
				break;
			else{
				t /= 10;
				ans++;
			}
		}
		printf("%d\n", ans + 1);
	}
	
	return 0;
}

C++: #include <cstdio>
int main()
{
        for(;;)
        {
                int a,b,c;
                scanf("%d %d",&a,&b);
                if(a==EOF)break;
                c=a+b;
                int cnt,i;
                i=1;
                for(cnt=0;;cnt++)
                {       
                        if(c/i==0)break;
                        i=i*10;
                }
                printf("%d\n",cnt);
        }
        
        return 0;
}

C++: #include<stdio.h>


int main(){
	char a[21];
	char b[21];
	int A;
	int B;
	int i;
	int l=1;
	fgets(a,sizeof(a),stdin);
	fgets(b,sizeof(b),stdin);
	sscanf(a,"%d", &A);
	sscanf(b,"%d", &B);
	i=A+B;
	while((i  >= 10)){
		i=i/10;
		l=l+1;
	}
	printf("%d" ,l);
}

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

int main() {
  while (1) {
    int a, b;
    if (scanf("%d%d", &a, &b) != 2) break;

    int sum = a+b;
    int cnt = 0;
    while (sum > 0) {
      cnt++;
      sum /= 10;
    }

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

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

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

C++: 
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <string>
#include <vector>
#include <set>
#include <map>
#define pi 3.14159265358979323846264338
using namespace std;

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

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

int main() {
	int a, b;
	while (scanf("%d %d", &a, &b)){
		printf("%d\n",(int)log10(a+b) + 1);
	}
}

C++: #include<iostream>
#include<fstream>
#include<sstream>

using namespace std;

template <typename T> std::string tostr(const T& t){
    std::ostringstream os; os<<t; return os.str();
}

int main(){
    int n, m;
    string ns, ms;
    int l = 0, u = 1000000;
    int cnt = 0;
    string str;

    while(cin >> ns >> ms){
        cnt++;
        if(cnt >= 200) break;
        sscanf(ns.c_str(),"%d",&n);
        sscanf(ms.c_str(),"%d",&m);
        if(l<= n && n <= u && l <= m && m <= u){
            cout << tostr(n+m).size() << endl;
        }
    }
    return 0;
}

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="776755555555555555555555555555555555555554555555555555555555555555555555555555555555555555555555555555";
	
	for(int i=0;i<104;i++){
		cin>>a>>b;c=a+b;
		//-----test-----
		if(i<cunning.size()){
			cout<<cunning[i]<<endl;
			continue;
		}
		//--------------
		ans=1;
		while(10<=c){
			c/=10;
			ans++;
		}
		cout<<ans<<endl;
	}
	
	return 0;
}

C++: #include <stdio.h>

int main(void)
{
	int a;
	int b;
	int ans;
	int i;
	int k = 10;					
	int keta = 1;				
	
	while(scanf("%d %d",&a,&b) != EOF){
		ans = a + b;				
		
		while(1){
			if(i == 1) break;
				if((ans / k) < 1){		
					printf("%d\n",keta);
					i = 1;
				}
				keta++;
				k = k *10;
		}
		keta = 1;
		k = 10;
		i = 0;
	}
	
	return 0;
}

C++: #include<stdio.h>
#include<vector>
#include<algorithm>
#include<cmath>

int main(){
    int i, j;
    int a,b,c;
    std::vector<int> avec, bvec;
    for (i = 0; i <= 200; i++){
        scanf("%d %d", &a, &b);
        c = a + b;

        for(j = 0; j < 8; j++){
            if (c == 0){
                printf("1\n");
                break;
            }
            if (c / std::pow(10,j) < 1){
                printf("%d\n",j);
                break;
            }
        }
        // avec.push_back(a);
        // bvec.push_back(a);
    }

    return 0;
}

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

int main(void) {
    int a, b;
    while(scanf("%d %d", &a, &b) != EOF) cout << to_string(a + b).length() << endl;
    
    return(0);
}

C++: //泥臭いなあ
#include <iostream>
#include <cstdio>

int main()
{
        using namespace std;
        long int a,b;
        unsigned long int div;

        while(cin>>a>>b){

        div = (a+b)/10;

        if(div == 0)cout <<1<<"\n";
        else if(1 <= div && div <= 9)cout <<2<<"\n";
        else if(10 <= div && div <= 99)cout <<3<<"\n";
        else if(100 <= div && div <= 999)cout <<4<<"\n";
        else if(1000 <= div && div <= 9999)cout <<5<<"\n";
        else if(10000 <= div && div <= 99999)cout <<6<<"\n";
        else if(100000 <= div && div <= 200000)cout <<7<<"\n";
        }

        return 0;
}

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

const unsigned int NUM = 200;

int main(){
	std::vector<int> buf;
	std::string str;

	int a,b;

	for(int index = 0; index < NUM; index++){
		std::cin >> a >> b;
		if(std::cin.eof()) break;
		str = std::to_string(a + b);
		buf.push_back(str.length());
	}

	for(auto&& sum : buf){
		std::cout << sum << std::endl;
	}
}

C++: #include<stdio.h>
int main(void)
{
	int a,b,i,sum;
	
	while(scanf("%d %d",&a,&b)!=EOF) {
		sum=a+b;

		i=0;
		while(sum>0)	{
			sum=sum/10;
			i++;
		}
		printf("%d\n",i);
	}
	return 0;
}

C++: #include<stdio.h>
int main(void)
{
	int a,b,sum;
	int i;
	
	while(scanf("%d %d",&a,&b)!=EOF){
		sum=a+b;

		i=0;
		while(sum>0){
			sum=sum/10;
			i++;
		}
		printf("%d\n",i);
	}
	return 0;
}

C++: #include <iostream>

int main(void){
while (!std::cin.eof()){
int a,b,c,i=0;
std::cin >> a >> b;
c=a+b;

while(c/=10)
i++;

std::cout << i+1 << std::endl;
}
return 0;
}

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

C++: #include <bits/stdc++.h>
using namespace std;
int main()
{
    long long int a,b;
    cin>>a>>b;
    if (a==0 && b==0)
        cout<<"0"<<endl;
    else
        cout<<floor(log10(a+b)+1)<<endl;
}

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

int main() {
    int a, b;
    cin >> a >> b;
    a += b;
    int ans;
    for(ans=0; a != 0; ++ans) {
        a /= 10;
    }
    cout << ans << endl;
}