Go: package main

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

func main() {
	sc := bufio.NewScanner(os.Stdin)
	for sc.Scan() {
		str := strings.Split(sc.Text(), " ")
		if len(str) != 2 {
			return
		}
		a, err1 := strconv.ParseInt(str[0], 10, 64)
		b, err2 := strconv.ParseInt(str[1], 10, 64)
		if err1 != nil || err2 != nil {
			return
		}
		a += b
		for b = 0; a > 0; a /= 10 {
			b++
		}
		fmt.Println(b)
	}
}

C++: ///
// File:  0002.cpp
// Author: ymiyamoto
//
// Created on Sat Nov  4 15:39:12 2017
//

#include <cstdint>
#include <iostream>

using namespace std;

int32_t main()
{
  while (true) {
    uint32_t a, b;
    cin >> a >> b;
    if (cin.eof()) break;
    cout << to_string(a + b).size() << endl;
  }

  return 0;
}

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

int main(){

  double a, b;

  while( cin >> a >> b ){
    cout << fabs(floor( log10( a+b ) )) + 1 << "\n";
  }

}

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

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

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

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

C++: #include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main(void) {
  int a, b, sum;
  double cnt;
  while(scanf("%d %d", &a, &b) != EOF) {
    sum = a + b;
    cnt = log10(sum);
    cout << (int)cnt + 1 << endl;
  }
  return 0;
}

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

int main(){
	int a,b,i,sum=0;
	
	while(scanf("%d",&a) != EOF){
		cin>>b;	
		a=a+b;
		while(a!=0){
			a = a / 10;
			sum++;
		}

		cout<<sum<<endl;
		sum=0;
	}
    return 0;
}

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

int main(){
	int i;
	int count;
	int a[200],b[200],sum[200];
	int temp = 0;

	while(cin >> a[temp] >> b[temp])
	{
		sum[temp] = a[temp] + b[temp];
		temp++;	
	}

	for (i = 0; i < temp; i++)
	{
		count = 0;

		while(sum[i] > 0){
			sum[i] = sum[i] / 10;
			count++;
		}

		cout << count << endl;

	}

	return 0;

}

C++: #include <bits/stdc++.h>
using namespace std;
int c,d,a,b;

int main (){
	cin>>a>>b;
	d=a+b;
	if(d%10==d){
		cout<<1<<endl;
	}
	else if(d%100==d){
		cout<<2<<endl;
	}
	else if(d%1000==d){
		cout<<3<<endl;
	}
	else if(d%10000==d){
		cout<<4<<endl;
	}
	else if(d%100000==d){
		cout<<5<<endl;
	}
	else if(d%1000000==d){
		cout<<6<<endl;
	}
	else if(d%10000000==d){
		cout<<7<<endl;
	}
}

C++: #include<iostream>

using namespace std;

int main(){
	
	int num,i;

	int a[200],b[200],sum[200],figure;
	
	for(i=0;i<3;i++){
		do{
			cin >> a[i] >> b[i];
		}while((a[i]<0||a[i]>100000)&&(b[i]<0||b[i]>100000));
		
		sum[i] = a[i] + b[i];
		
	}
	
	for(i=0;i<num;i++){
		figure = 1;
		while(sum[i]/10!=0){
			sum[i] = sum[i]/10;
			figure++;
		}
		cout << figure << "\n";
	}
	
	return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int a,b,c,d=0;
	cin>>a>>b;
	c=a+b;
	if(c==0){
		goto aaa;
	}
	while(true){
		d=d+1;
		if(c<=9){
			break;
		}
		c=c/10;
	}
	aaa:
	cout<<d;
}

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

int count_digits(long number)
{
	int result = 1;
	while (number >= 10) {
		number /= 10;
		++result;
	}
	return result;
}

int main()
{
	long a, b;
	while (std::cin >> a >> b) {
		std::cout << count_digits(a + b) << std::endl;
	}

	return 0;
}

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

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

C++: #define scanf_s scanf
#include <stdio.h>
//#include <iostream>
//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) != EOF) {
		sum = a + b;
		++ans[cou];
		if (sum != 0){
			while (1) {
				if (sum <= 1) break;
				sum /= 10;
				++ans[cou];
			}
		}
		printf("%d\n", ans[cou]);

		++cou;
	}
	for (i = 0; i < cou; ++i) {
		if (i != 0) printf("\n");
		printf("%d", ans[i]);
	}
}

C++: #include <iostream>
//#include <cstdio>
#include <cmath>
using namespace std;
 
//0002
int main(){
	int a, b, c;
	while(cin >> a >> b){
		c = a + b;
		cout << 1 + (int)log10(c);
	}
	return 0;
}

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

using namespace std;

int main()
{
  int a,b;

  while(cin>>a>>b){
    int ans = 0;
    int sum = a + b;

    while(1){
      sum = sum / 10;
      ans++;
      if(sum == 0){
        break;
      }
    }
    cout<<ans<<endl;
  }
  
  return 0;
}

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

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#include <string>
#include <set>
#include <map>
#include <queue>
using namespace std;
typedef long long int ll;
const int INF = 100000000;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
int main(){
    int a, b;
    vector <int> ans;
    while(cin >> a >> b){
        int c = a + b, count = 0;
        while(c){
            count++;
            c /= 10;
        }
        cout << count << endl;
    }
    return 0;
    
}

C++: #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
  int a,b;
  char ans[16];
  while(scanf("%d %d",&a,&b) != EOF){
    if(a == 0 && b == 0)break;
    sprintf(ans,"%d",a+b);
    int len = strlen(ans);
    cout << len << endl;
  }
}

C++: #include<iostream>

int a, b, n, m;

int main()
{
	while(std::cin>>a>>b)
	{
		n = a + b;
		m = 1;
		while(n>=10)
		{
			n=n/10;
			++m;
		}
		printf ("%d\n",m);
	}
	return 0;
}

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

using namespace std;

int main()
{
	int a[200], b[200], n, ans=0;
	for (int i = 0; i < 200; i++) 
	{
		cin >> a[i] >> b[i];
		n = a[i] + b[i];
		while (n >= 1) 
		{
			n /= 10;
			ans++;
		}
		cout << ans << endl;
		ans = 0;
	}
}

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);
}