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 <stdio.h>
#include <iostream>

int main(){
  int a, b, c;
  int i = 10;
  int num = 1;
  
  while(scanf("%d", &a)!=EOF){
    scanf("%d", &b);
    
    c = a + b;
    while(1){
      if(c/i!=0){
        num++;
        i *= 10;
      }else{
        break;
      }
    }
    std::cout << num << std::endl;
  }
  
  return 0;
  
}

C++: #include <iostream>
int a,b,c,d;int main(){while(std::cin>>a>>b){if(d=a+b){c=0;while(d){c++;d/=10;}}else c=1;std::cout<<c<<"\n";}return 0;}

C++: #include<stdio.h>
int main(void)
{
	int a,b,s;
	scanf("%d %d",&a,&b);
	s=a+b;
	if(s<10){
		printf("1\n");
	}
	else if(s>9&&s<100){
		printf("2\n");
	}
	else if(s>99&&s<1000){
		printf("3\n");
	}
	else if(s>999&&s<10000){
		printf("4\n");
	}
	else if(s>9999&&s<100000){
		printf("5\n");
	}
	else if(s>99999&&s<1000000){
		printf("6\n");
	}
	else if(s>999999&&s<10000000){
		printf("7\n");
	}
	return 0;
}

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

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

int main(){
    int a,b ;
    while(cin >> a){
        cin >> b ;
        a += b ;
        string s = to_string(a) ;
        cout << s.size() << endl ;
    }
}

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

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

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

int main(void)
{
    int a, b;
    char buf[16];
    
    while (scanf("%d %d", &a, &b) != EOF) {
        sprintf(buf, "%d", a+b);
        printf("%d\n", buf);
    } 
    
    return 0;
}

C++: #include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <cstdio>
#include <sstream>
using namespace std;

#define FOR(i,a,b) for(long long int i=(a);i<(b);i++)
#define REP(i,n) for(long long int i=0;i<(n);i++)
#define ALL(s) (s).begin(),(s).end()

#define PI 3.14159265358479

typedef long long int ll;
typedef vector<long long int> vi;

int main(){
	ll a, b, i = 0;
	string s;
	while (cin >> a >> b){
		s = to_string(a + b);
		cout << s.length() << "\n";
	}
	return 0;
}

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

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

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

int log10(int);
int main()
{
	int a,b;
	while(!cin.eof()){
	cin >> a >> b;
	cout << log10(a+b) << endl;
	}
	return 0;
}
int log10(int x)
{
	int i = 1;
	while(1){
		if(x/10 >= 1){
			i++;
			x = x / 10;
		}else{
			break;
		}
	}
	return i;
}

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

C++: #include <iostream>
using namespace std;
 
int digit(int a)
{
    int ret = 0;
    while(a)
    {
        a/=10;ret++;
    }
    return ret;
}
 
int main()
{
    int x,y;
    while(cin >> x >> y && x != EOF)
        cout << digit(x+y) << endl;
}

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

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

int main(){
  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>
using namespace std;

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

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

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

C++: #include <stdio.h>
#include <math.h>
int main(){
  int i,j,k;
  for(;;){
    scanf("%d %d",&i,&j);
    k=i+j;
    for(i=1;i<7;i++){
      if(k<pow(10,i)){
        printf("%d\n",i);
        break;
      }
    }
  }
}

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

C++: #include<stdio.h>

int main()
{
    int a,b;
    while(scanf("%d%d",&a,&b)!=EOF)
    {
        int sum=a+b;
        int cnt=0;
        for(int i=0;;i++)
        {
            cnt++;
            sum=sum/10;
            if(sum==0)break;
        }
        printf("%d\n",cnt);
    }
return 0;
}

C++: #include <iostream>

using namespace std;
int main()
{
	int a,b;
	while (1){
		cin >> a;
		if (a == EOF) break;
		cin >> b;
		if (b == EOF) break;
		cout << a + b << endl;
	}
}

C++: #include <iostream>
  
using namespace std;  
  
// ??\???  
int a, b;  
  
void solve()  
{  
    int res = 0;  
  
    a += b;  
  
    for (; a; a /= 10)  
        res++;  
  
    cout << res << endl;  
}  
  
int main()  
{  
    while (cin >> a >> b)  
        solve();  
  
    return 0;  
}

C++: #include <stdio.h>
#include <stdlib.h>
#include <algorithm>
#include <iostream>
#include <map>
#include <numeric>
#include <set>
#include <sstream>
#include <string>
#include <vector>
#include <cmath>
using namespace std;

#define FOR(i,s,e) for (int i = int(s); i != int(e); i++)
#define REP(i,e) for (int i = 0; i != int(e); i++)
#define FORIT(i, A) for (auto i : A)
#define ISEQ(c) (c).begin(), (c).end()
#define PRINT(x) cout << (x) << endl
#define SZ(x) ((int)(x).size())

int main(int argc, char const *argv[])
{

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

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

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