Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

func Sliceconvtoi() []int {
	strs := strings.Split(sc.Text(), " ")

	var ints []int
	var x int

	for _, s := range strs {
		x, _ = strconv.Atoi(s)
		ints = append(ints, x)
	}

	return ints
}

func main() {
	for sc.Scan() {
		i := Sliceconvtoi()
		fmt.Println(int(math.Log10(float64(i[0]+i[1]))) + 1)
	}

}

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="77675555555555555555555555555555555555555455";
	
	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<iostream>
#include<math.h>
using namespace std;
int main(){
double a,b;
while(cin>>a>>b){
a=a+b;
if(a<10)cout<<"1"<<endl;
else {
b=log10(a);
cout<<b<<endl;
}
}
return 0;
}

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

using namespace std;

int main()
{
	int a, b, i, c;
	
	while(cin >> a >> b){
	
	i = 0;

	c = a + b;
	
	while(c > 0){
		
		c /= 10;
		
		i++;
	}
		cout << i << endl;
	}
	
    return 0;
}

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

int main() {
    
    int a[100];
    int b[100];
    int x = 0;
    int sum;
    int flag = 0;
    int count = 0;
    
    while(cin >> a[x] >> b[x]) x++;
    
    for(int i = 0; i < x; i++) {
        
        sum = a[i] + b[i];
        
        while (!flag) {
            sum = sum / 10;
            count++;
            if(sum < 1) {
                flag = 1;
                cout << count << endl;
            }
        }
        count = 0;
        flag = 0;
    }
    return 0;
}

C++: #include<iostream>

using namespace std;

int main()
{
	int a,b,n,c=1000000,p=7;
	for(int i=1;i<=200;i++){
		cin>>a>>b;
		n=a+b;
		while(1){
			if(n>=c){
			break;
			}
			else{
			p--;
			c/=10;
			}
		}
		cout<<p<<endl;
		p=7,c=1000000;
	}
	return 0;
}

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

int main(){
	int a, b;
	vector<int> output;
	while(cin >> a >> b){
		int sum = a + b;
		int digit = 0;
		while(sum){
			sum /= 10;
			digit++;
		}
		output.push_back(digit);
	}
	for(vector<int>::iterator itr = output.begin(); itr != output.end(); ++itr){
		cout << *itr << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <cctype>
#include <cstring>
#include <string>
#include <vector>


using namespace std;

int main()
{
    int i,j,sum;
    int t,dcount=0;
    while(scanf("%d",&i) != EOF && dcount <200)
    {
        int counter=0;
        int sum=0;
        cin >> j;
        sum=i+j;

        while(sum!=0)
        {
            t=sum%10;
            sum= sum/10;
            if(t!=0)
                counter++;
        }

        sum++;
        cout << counter <<endl;
        dcount++;
    }
}

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

int main() {
	int a[3],b[3];
	int ans[3];
	for(int i=0; i<1; i++) scanf("%d %d", &a[i], &b[i]);

	int cnt;
	int keta[3] = {0,0,0};
	for(int i=0; i<1; i++) {
		cnt = a[i] + b[i];
		while(cnt >= 10) {
			cnt/=10;
			keta[i] ++;
		}
		keta[i]++;
	}

	printf("%d\n", keta[0]);

	return 0;
}

C++: #include<stdio.h>
int main(){
  int n=1,m=1,a,b;
  while(scanf("%d",&a) != EOF){
    scanf("%d",&b);
    while(a/10!=0){
      n++;
      a=a/10;
    }
    while(b/10!=0){
      m++;
      b=b/10;
    }
    printf("%d\n",n+m);
  }
  return(0);
}

C++: #include <stdio.h>

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

	return 0;
}

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

int main()
{
	long int a,b,sum;/*足す数*/
	
	while(scanf("%d %d",&a,&b)!=EOF)
	{
		if(a<0 || b<0)
			continue;
		sum = a+b;
		printf("%d\n",(int)log10((float)sum)+1);
	}
	return 0;
}

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

int main(){
    int count = 0;
    int digit_num;
    int a[200],b[200];
    int sum;
    while(1){
        cin >> a[count] >> b[count];
        if(a[count] >=0 && a[count] <= 1000000)
            if(b[count] >= 0 && b[count] <= 1000000){
                sum = a[count] + b[count];
                digit_num = 1;
                while((sum/10) != 0){
                    digit_num ++;
                    sum = sum / 10;
                }
                cout << digit_num<<endl;
                count++;
                if(count >200) break;
            }
    }
    return 0;
}

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

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

	return 0;
}

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

#define     MAX_NUMBER     200

using namespace std;

int main(){
	int num1,num2;
	char str[10];
	int i;

	while(cin >> num1 >> num2){
		//整形
		sprintf(str,"%d\0",(num1 + num2));

		// 文字数計測
		for(i=0;str[i] != '\0';i++){
		}

		// 文字数表示
		cout << i << endl;
	}

	return 0;
}

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

int main(){
	int a,b,s,o;
	while(scanf("%d %d", &a, &b) != EOF){
		s = a + b;
		o = 0;
		while(s != 0){
			s /= 10;
			o++;
		}
		printf("%d\n", o);
	}

	return 0;
}

C++: //
//  main.cpp
//  sanpie
//
//  Created by h3037178 on 2017/07/28.
//  Copyright ?? 2017??´ ?????£?????????. All rights reserved.
//

#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int i,o;
    for(int p=0;p<200;p++){
        cin>>i>>o;
    }
    for(int k=0;k<200;k++){
        if(i>1000000||o>1000000){
            break;
        }
    if(i+o<10){
        cout<<"1"<<endl;
    }else if(i+o<100){
        cout<<"2"<<endl;
    }else if(i+o<1000){
        cout<<"3"<<endl;
    }else if(i+o<10000){
        cout<<"4"<<endl;
    }else if(i+o<100000){
        cout<<"5"<<endl;
    }else if(i+o<1000000){
        cout<<"6"<<endl;
    }else{
        cout<<"7"<<endl;
    }
    }
}

C++: #include <iostream>
using namespace std;
int main(){
int A,B,C,i=10,test=1,k=0;
while(k=0){
cin >> A >> B;
C = A + B;
if(C<10){
cout << 1 << endl;
}
else{
while(test!=0){
i = i * 10;
test++;
if(C<i){
cout << test << endl;
test = 0;
}
}
}
}
}

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

int main(){
  for(int a,b,c,ans=1;cin >> a;cin >> b;){
  c=a+b;
  if(c>=10){
    ans++;
  }
  if(c>=100){
    ans++;
  }
  if(c>=1000){
    ans++;
  }
  if(c>=10000){
    ans++;
  }
  if(c>=100000){
    ans++;
  }
  if(c>=1000000){
    ans++;
  }
  cout << ans;
}
  return 0;
}

C++: #include <iostream>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <numeric>
#include <cmath>
using namespace std;
typedef vector<int> VI;
#define REP( i, m, n ) for ( int i = (int)( m ); i < (int)( n ); ++i )

int main() {
    VI nums;
    
    int a, b;
    while (cin >> a >> b) {
        nums.push_back(a + b);
    }
    
    for (int n : nums) {
        cout << floor(log10(n)) + 1 << endl;
    }
    
    return 0;
}

C++: #include <stdio.h>

int main(void){
	int a, b;
	int cnt = 0;

	while(scanf("%d %d", &a, &b) != EOF){
		cnt = 0;
		a = a+b;
		while(a != 0){
			a = a / 10;
			cnt++;
		}
		printf("%d\n", cnt);
	}

	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
  int a,b,c,ans;

  while(cin>>a>>b){
    c=a+b;
    ans=1;
    while(c>=10){
      c/=10;
      ans++;
    }
    cout<<ans<<endl;
  }

  return(0);
}

C++: #include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#define shosu(x) fixed<<setprecision(x)
using namespace std;
int main(){
	int x,y;
	while(cin>>x>>y){
		int sum=x+y;
		cout<<(int)log10(sum)+1<<endl;
	}
}