Go: package main

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

func sliceAtoi(sa []string) ([]int, error) {
	si := make([]int, 0, len(sa))
	for _, a := range sa {
		i, err := strconv.Atoi(a)
		if err != nil {
			return si, err
		}
		si = append(si, i)
	}
	return si, nil
}

func getDigits(ary []int) (digits int) {
	sum := 0
	for _, v := range ary {
		sum += v
	}

	for sum != 0 {
		sum /= 10
		digits++
	}
	return
}

func getsTwoNumAsArray() (nums [][]int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}

		ary, _ := sliceAtoi(strings.Split(str, " "))
		nums = append(nums, ary)
	}

	return
}

func main() {
	ary := getsTwoNumAsArray()

	for _, v := range ary {
		fmt.Println(getDigits(v))
	}
}

C++: #include<stdio.h>
#include<math.h>
int main(){
	int a,b;
	while(~scanf("%d%d",&a,&b)){
		printf("%d\n",(int)log10((double)(a+b))+1);
	}
}

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

int main(void){
	int a,b;
	double sum;
	int dig;

	std::cin >> a >> b;
	sum = (double)a+(double)b;
	dig = floor(log(sum)/log(10.0));
	std::cout << dig+1 << "\n";
	return 0;
}

C++: #include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main() {
  int a, b, cnt;
  string s;
  getline(cin, s, ' ');
  a = stoi(s);
  getline(cin, s);
  b = stoi(s);
  a += b;
  cnt = 0;
  if (a == 0) {
    cnt = 1;
  } else {
    while (a) {
      cnt++;
      a /= 10;
    }
  }
  cout << cnt << endl;
  return 0;
}

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

C++: #include<iostream>
using namespace std;
int keta(int n){
  static int cnt=0;
  if(n>0){
    cnt++;
    return keta(n/10);
  }else{
    return cnt;
  }
}
int main(){
  int a,b;
  int n;
  cin>>a>>b;
  a+=b;
  n=keta(a);
  cout<<n<<endl;
  return 0;
}

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

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

C++: #include <iostream>
using namespace std;
int main(void){
  int a, b, sum, count;
  
  while(true) {
    cin >> a >> b;
    
    count = 0;
    sum = a + b;
    if (sum == 0) {
      count++;
    } else {
      while(sum != 0) {
        sum /= 10;
        count++;
      }
    }
    cout << count << endl;
    
    if ( cin.eof() ) { break; }
  }
}

C++: #include <cstdio>

using namespace std;

int main(void){
	int x, y, i, p;
	while(scanf("%d%d",&x,&y) != EOF){
		p = 10;
		for(i = 1;p <= x + y;i++){
			p *= 10;
		}
		printf("%d\n",i);
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

int z,x,y;
int main(){
 cin>>x>>y;
 z=x+y;
 z>=0;
if(z<10){
	cout<<1<<endl;}
else
 if(z<100){
 	cout<<2<<endl;}
 else
  if(z<1000){
  	cout<<3<<endl;}
  else
   if(z<10000){
   	cout<<4<<endl;}
   else
    if(z<100000){
     cout<<5<<endl;}
    else
     if(z<1000000){
      cout<<6<<endl;}
     else
      cout<<7<<endl;

return 0;
	
}

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
	    int a,b;
	    while(cin>>a>>b)
	    {
		cin>>a>>b;
		int c =7;
		for (int d =1000000;d>=0;d=d/10)
		{
			if((a+b)/d>=1)
		   {
			   cout<<c<<endl;
			   break;
		}
			else c=c-1;
			}
	}
}

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

int main(void) {
	int a=0,b=0,n=1;
	vector<int> r;
	while (scanf("%d %d",&a,&b) != EOF)
	{
		n=1;
		while ((a+b)>=pow(10,n))
		{
			n++;
		}
		r.push_back(n);
	}
	for (int i=0;i<r.size();i++)
	{
		cout << r[i] << endl;
	}
	return 0;
}

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

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

int main(){
	int a[200],b[200],i=0;
	while(cin>>a[i]){
		cin>>b[i];
		i++;
	}
	for(int j=0;j<i;j++){
		cout<<a[j]+b[j]<<endl;
	}
    return 0;
}

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

using namespace std;

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

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

int main(){
	int a,b,s,i,n;
	for(i=0;i<200;i++){
	cin >> a >> b;
	n=0;
	s=a+b;
	while(s!=0){
	s/=10;
	n++;
	}
	cout << n << endl;
	}
	return 0;
}

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

using namespace std;

int main(){
  int a,b;
  stringstream c;
  vector<int> d;
  while(cin >> a >> b){
    c.str("");
    c << a+b;
    string str = c.str();
    d.push_back(str.length());
  }

  for(int i=0; i<d.size(); i++){
    cout << d[i] << endl;
  }

  return 0;
}

C++: #include <iostream>

using namespace std;

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

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

        digit = 1;
        div = 10;

        while(sum / div){
            ++digit;
            div *= 10;
        }
	cout << digit << endl;
    }
}

C++: #include<cstdio>
#include<iostream>
#include<cstring> // ??????????????????????±???????????????????
using namespace std;

int main(){
	int a,b,s=0,l;
	char str[100];
	cin >> a >> b;

	s=a+b;
	itoa(s,str,10); // s???10?????°??§??????????????????
	l = strlen(str); // ???????????????????????????
	cout << l << "\n";

}

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

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

int main(void)
{
	int32_t first  = 0;
	int32_t second = 0;

	while( std::cin >> first )
	{
		std::cin >> second;

		std::cout << static_cast<int32_t>(std::log10(first + second)) << std::endl;
	}

	return 0;
}

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) << endl;
    }
    return 0;
}

C++: #include<stdio.h>


int main()
{
	long a,b,sum,count=0;

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

	sum=a+b;

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

	printf("%ld\n",count);
		
	
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
#include <stack>
#include <queue>
#include <map>
#include <cmath>
#include <string>
#include <sstream>
#include <iomanip>
#include <complex>
using namespace std;

#define ll long long
#define vvi vector< vector<int> >
#define All(X) X.begin(),X.end()
#define FOR(i,a,b) for(int i=(int)(a);i<(int)(b);i++)
#define REP(i,n) for(int i=0;i<(int)(n);i++)
#define pb push_back 
ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
ll lcm(ll a,ll b){return a/gcd(a,b)*b;}

int main(){
	int n,m;
	while(cin >> n >> m){
		cout << (int)log10(n+m)+1 << endl;
	}
}

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

int main(){
  int a,b;

  while(scanf("%d%d",&a,&b) != EOF)
    {
      int cnt = 0;
      int sum = a + b;
      
      while(1)
	{ 
	  sum /= 10;
	  cnt++;
	  if(!sum) break;
	}
      cout << cnt << endl;
    }
  return 0;
}

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

int main(){
	string cunning="77675555555555555555555555555555555555555455555555555555555555555555555555555555555555555555555555555555";
	for(int i=0;i<104;i++) cout<<cunning[i]<<endl;
	return 0;
}

C++: #include <stdio.h>

int main(){

	int a=0,b=0;

	while (scanf("%d%d", &a, &b)!=EOF){
		
		if (a + b < 1000000){
			printf("6\n");
		}else if(a + b < 100000){
			printf("5\n");
		}else if (a + b < 10000){
			printf("4\n");
		}else if (a + b < 1000){
			printf("3\n");
		}else if (a + b < 100){
			printf("2\n"); 
		}else if (a + b < 10){
			printf("1\n",x);
		}
	}
	return 0;
}