Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextString() string {
	scanner.Scan()
	return scanner.Text()
}

func nextInt() (int, error) {
	return strconv.Atoi(nextString())

}

func main() {
	scanner.Split(bufio.ScanWords)

	for {
		a, err := nextInt()
		if err != nil {
			break
		}
		b, _ := nextInt()

		s := a + b
		nDigits := int(math.Log10(float64(s))) + 1
		fmt.Println(nDigits)
	}
}

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

int main(){
int i = 0;
for(i = 1;i <= 200;i++){
int a = -1;int b = -1;
cin >> a >> b;
if(a < 0){
break;
}
else 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() {
  long long int a, b;
  while(cin >> a >> b) {
  long long int sum = a+b;
  //cout << sum << endl;
  

  int cnt = 1;
  while(sum /= 10) cnt++;

  cout << cnt << endl;
  }
}

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

#define INPUTSIZE 10

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

    cin >> a;
    cin >> b;
    sum = a + b;

    int digit;
    while (sum > 0) {
        sum /= 10;
        digit++;
    }
    cout << digit << endl;

    return 0;
}

C++: //
//  main.cpp
//  Sample
//
//  Created by h3037183 on 2017/07/31.
//  Copyright ?? 2017??´ ?°????. All rights reserved.
//

#include <iostream>
using namespace std;
int main(){
    int i, j;
    while(cin >> i >> j){
        
        i += j;
        j = 0;
        
        while( i > 0, j++, i /=  10);
        cout << j << endl;
    }
    return 0;
}

C++: #include <iostream>

using namespace std;

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

	while (cin >> a >> b) {
		a += b;
		count = 0;

		while (a > 0) {
			a /= 10;
			count++;
		}

		cout << count << endl;
	}
	return 0;
}

C++: #include<string>
#include<algorithm>
#include<iostream>
#include<cstdio>
using namespace std;
int main()
{
	int a,b;
	cin >> a>>b;
 string x=IntToString(a+b);
cout<<x.size()<<endl;
return 0;
}
string IntToString(int number)
{
  string stream ss;
  ss << number;
  return ss.str();
}

C++: HAhahahah
xwhdxjwhxkedx
ed
edc
de
ce
cde
cejdlcekdjlekjcded
cedjedejdklkexjelkxjlkexdjlx

C++: #include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
#include<stdio.h>
#include<cmath>
#include<vector>
#include<utility>
#include<stack>
#include<queue>

#define FOR(i, a, b) for(int i=(a);i<=(b);i++)
#define RFOR(i, a, b) for(int i=(a);i>=(b);i--)
#define MOD 1000000007

using namespace std;

int main(void) {
	int a, b;
	int c;
	FOR(i, 1, 200) {
		cin >> a >> b;
		c = a + b;
		FOR(i, 1, 100) {
			c /= 10;
			if (c == 0) {
				cout << i << endl;
				break;
			}
		}
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

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

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

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

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

int main(){
    int a, b;
    while (std::cin >> a >> b){
        std::string sum = std::to_string(a+b);
        printf("%ld\n", sum.length());
    }
    return 0;
}

C++: #include <iostream>
using namespace std;
 
int main() {
	int a,b,c;
	int n=10;
	while(cin>>a>>b){
	    c=a+b;
	    n=10;
	    for(int i = 0;i<7;i++){
 
	        if(c%n == c){
	            cout<<i+1<<endl;
	            break;
	        }
 
	        n=n*10;
	    }
	}
	return 0;
}

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

int main(void){

	int a,b;


	scanf("%d %d",&a,&b);

	if(a+b == 0)
		printf("%d",1);
	else
		printf("%d",(int)log10((a+b)*1.0)+1);

	return 0;

}

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

int main() {
    int a, b;
    while (true) {
        //cin >> a >> b;
        scanf("%d %d",&a,&b);
        int sum=a+b;
        int ans=0;
        while (true) {
            sum/=10;
            ans++;
            if (sum<=0) {
                break;
            }
        }
        printf("%d\n",ans);
    }
    return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
    int a[1000000],b[1000000],i,j;
    for(i=0;i<200;i++){
        cin>>a[i]>>b[i];
        if(a[i]+b[i]<10){
            cout<<"1"<<endl;
        }
        else if(a[i]+b[i]<100){
            cout<<"2"<<endl;
        }
        else if(a[i]+b[i]<1000){
            cout<<"3"<<endl;
        }
        else if(a[i]+b[i]<10000){
            cout<<"4"<<endl;
        }
        else if(a[i]+b[i]<100000){
            cout<<"5"<<endl;
        }
        else if(a[i]+b[i]<1000000){
            cout<<"6"<<endl;
        }
        else if(a[i]+b[i]<=1999999){
            cout<<"7"<<endl;
        }
    }
    return 0;
}

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

int main(){
	int a, b;
	while(cin >> a >> b){
		int x = a + b;
		int digit = 0;
		for(int i = 1; i <= x; i = i * 10) digit++;
		cout << digit << endl;
	}
	return 0;
}

C++: #include <bits/stdc++.h>
using namespace std;

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

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

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

C++: #include <bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef vector<int> vi;
typedef vector<ll> vl;
typedef complex<double> P;
typedef pair<int,int> pii;
#define REP(i,n) for(ll i=0;i<n;++i)
#define REPR(i,n) for(ll i=1;i<n;++i)
#define FOR(i,a,b) for(ll i=a;i<b;++i)

#define DEBUG(x) cout<<#x<<": "<<x<<endl
#define DEBUG_VEC(v) cout<<#v<<":";REP(i,v.size())cout<<" "<<v[i];cout<<endl
#define ALL(a) (a).begin(),(a).end()

#define MOD (ll)(1e9+7)
#define ADD(a,b) a=((a)+(b))%MOD
#define FIX(a) ((a)%MOD+MOD)%MOD

int main(){
  int a,b;
  while(~scanf("%d%d",&a,&b)){
    int c = a+b;
    int cnt = 1;
    while(c/=10)++cnt;
    cout<<cnt<<endl;
  }
  return 0;
}

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

int main(){
	int a;
	int b;
	int sum;

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

	return 0;
}

C++: #include <cstdio>
using namespace std;
int main(){
	long a,b,i;
	while(scanf("%ld %ld",&a,&b)!=EOF){
		i=1;a+=b;
		while(i>a) i*=10;
		printf("%ld\n",i-1);
	}
	return 0;
}

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="7767555555555555555555555555555555555555545555555555555555555555555555555555555555555555555555555555555";
	
	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;
}