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<stdio.h>
#include<iostream.h>
using namespace std;
int main(){
	int ab[200][2],f,i=0,a,g,k=0;
	while(cin<f){
		scanf("%d %d",&ab[i][1],&ab[i][2]);
		i++;
	}
	for(int j=0;j<i;j++){
		a=ab[j][1]+ab[j][2];
		for(g=0;;g++){
			a=a/10;
			k++;
			if(a==0){
				printf("%d\n",k);
				break;
			}
		}
		k=0;
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

int main() {
	
	int a, b;
	
	while( cin >> a >> b) {
		
		int count = 0;
		
	int sum = a + b;
	
	while( sum != 0) {
		
		sum /= 10;
		count ++;
		
	}
		cout << count << "\n";
}
	return 0;
}

C++: #include<stdio.h>

int main(){
 int i,j,k;

 while(scanf("%d %d",&i,&j)!=EOF){
  i+=j;
  for(k=i,j=1;k<10;j++,k/=10)
   ;
  printf("%d\n",j);
 }
 return 0;
}

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

int main() {
  int a, b, N;
  stringstream ss;
  while (cin >> a >> b) {
    ss << a + b;
    N = ss.str().size() - 1;
    cout << ss.str()[N] << endl;
  }
  return 0;
}

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

int main() {
	long long int a, b, c;
	int x;
	bool flg = true;

	for (int i=0;i<3;i++) {
		cin>>a;
		if (a==0)
			break;
		cin>>b;

		c=a+b;

		x = 1;
		flg = true;
		while (flg) {
			if ((c=c/10)>0)
				x++;
			else
				flg = false;
		}
		cout<<x<<endl;
	}
	return 0;
}

C++: #include <iostream>
using namespace std;
int main(){
    int a,b,c;
    kuri :
    while ( cin >> a >> b){
        if(cin.eof()){break;}
        c = a+b;
        if (c/1000000>=1){
            cout << "7" << endl; goto kuri;
        }
        if (c/100000>=1){
            cout << "6" << endl; goto kuri;
        }
        if (c/10000>=1){
            cout << "5" << endl; goto kuri;
        }
        if (c/1000>=1){
            cout << "4" << endl; goto kuri;
        }
        if (c/100>=1){
            cout << "3" << endl; goto kuri;
        }
        if (c/10>=1){
            cout << "2" << endl; goto kuri;
        }
        else{
            cout << "1" << endl; goto kuri;
        }


    }
}

C++: #include <iostream>

int main(){
  int a, b, c;
  int i = 10;
  int num = 1;
  
  std::cin >> a;
  std::cin >> b;
  
  c = a + b;
  while(1){
    if(c/i!=0){
      num++;
      i *= 10;
    }else{
      break;
    }
  }
  std::cout << num << std::endl;
  
  return 0;
}

C++: #include <map>
#include <string>
#include <iostream>
#include<vector>
#include <set>
#include<math.h>
#include<algorithm>

using namespace std;

int main()
{
	int c;
	double a, b;
	
	while (cin >> a >> b)
	{
		c = log10(a+b) + 1;
		cout << c << endl;
	}
}

C++: #include <iostream>
#include <sstream>
int main()
{
        for(uint8_t i=0;i<200;i++)
        {
                std::string str;
                getline(std::cin, str);
                if(str=="eof")
                        break;
                std::stringstream s(str);
                uint32_t a,b;
                s>>a>>b;
                uint32_t sum=a+b;
                uint8_t count;
                for(count=0;sum>0;count++)
                        sum=sum/10;
                if(count==0)
                        count++;
                printf("%u\n",count);
        }

        return 0;
}

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

using namespace std;

 string IntToString(int num){
	stringstream ss;
	ss << num;
	return ss.str();
}


int main(void){
	int count = 0;
	int arr[200] = {0, };
	for (int i=0; i<200; i+=2){
		int a, b;
		cin >> a >> b;
		if (((a < 0) || (b < 0)) || ((1000000 < a) || (1000000 < b))){
			break;
		}
		arr[i] = a;
		arr[i+1] = b;

		++count;
	}
	for (int i=0; i<(2*count); i+=2){
		int sum = arr[i]+arr[i+1];
		string str = IntToString(sum);
		cout << str.length() << endl;
	}
	return 0;
}

C++: //by azidoazideazide(c2n14)
#include<iostream>
#include<string>
#include<cmath>
#include<algorithm> //#include<map>
#include<vector>
using namespace std;
typedef long long ll;
//#include<fstream>
//ifstream fin("rps.in");
//ofstream fout("rps.out");
//#define pb push_back
int cd(int n){
  int ans=0;
  while(n>0){
    n/=10,ans++;
  }
  return ans;
}
int main(){
	ios::sync_with_stdio(0);
	int a,b;
  while(cin>>a>>b){
      cout<<cd(a+b)<<"\n";   
  }
return 0;
}

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

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

    return 0;
}

C++: #include <iostream>

using namespace std;

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

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

int main() {
	int a, b;

	while(cin >> a >> b) {
		a += b;
		int t = 1, cnt = 0;
		while(1) {
			if( a < t ) {
				break;
			} else {
				t *= 10;
				++cnt;
			}
		}
		cout << cnt << endl;
	}
}

C++: #include <stdio.h>

int main(){
  int a, b, c;
  int keta;

  while(cin >> a){
    cin >> b;
    c=a+b;
    keta=1;
    while((c/=10)>0) keta++;
    printf("%d\n", keta);
  }
  
  return 0;
}

C++: #include <cstdio>

int main(){
	long a, b;
	while( scanf(" %ld %ld", &a, &b) != EOF ){
		int count=0;
		long c = a+b;
		
		while(c!=0){
			c/=10;
			++count;
		}
		
		printf("%d\n", count);
	}
	
	return 0;
}

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

int main(){
    int a, b, result;
    while (cin >> a >> b) {
        int sum = a + b;
        while (true) {
            sum = sum / 10;
            result++;
            if (sum == 0) {
                cout << result << endl;
                break;
            }
        }
    }

    return 0;
}

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

C++: #include <iostream>

int main()
{
    int a, b;
    while (std::cin >> a >> b) {
        int sum = a + b;
        int digit = 1;
        while ((sum /= 10) >= 1) {
            digit++;
        }
        std::cout << digit << std::endl;
    }

    return 0;
}

C++: #include<cstdio>
#include<algorithm>
#include<cmath>

using namespace std;

int main(){
        double i, a, b;
        scanf("%lf%lf", &a, &b);
        printf("%d\n", (int)ceil((a + b) / 10.0));
        return 0;
}

C++: #include<stdio.h>
#include<iostream>
using namespace std;
int main(){
	int a1[200],b[200],f,i=0,a,g,k=0;
	while(cin>>f){
		scanf("%d %d",&a1[i],&b[i]);
		i++;
	}
	for(int j=0;j<i-1;j++){
		a=a1[j]+b[j];
		for(g=0;;g++){
			if(a==0&&g==0){
				printf("%d\n",a);
				break;
			}
			a=a/10;
			k++;
			if(a==0){
				printf("%d\n",k);
				break;
			}
		}
		k=0;
	}
	return 0;
}

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

using namespace std;

typedef struct {
        int a;
        int b;
} data;

int calc_digit_number(int num) {
        int digit_number = 1;
        while((num = num / 10) != 0) {
                digit_number++;
        }
        return digit_number;
}

int main(void) {
        vector<data> v;

        data input;
        while(scanf("%d %d", &input.a, &input.b) != EOF) {
                v.push_back(input);
        }

        for(data d : v) {
                printf("%d\n", calc_digit_number(d.a + d.b));
        }

        return 0;
}