Go: package main

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

var (
	sc = bufio.NewScanner(os.Stdin)
)

func main() {
	for sc.Scan() {
		chunks := strings.Split(sc.Text(), " ")
		a, _ := strconv.Atoi(chunks[0])
		b, _ := strconv.Atoi(chunks[1])
		fmt.Println(len(fmt.Sprint(a + b)))
	}
}

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

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main(){
	int a,b;
	while(cin>>a>>b){
	int t=9000;
	for(int i=t;i;i--){
		for(int j=i;j;j--){
			if(i+j==2)a+=b;
		}
	}
	int cnt=0;
	while(a)a/=10,cnt++;
	cout<<cnt<<endl;
	}
	return 0;
}

C++: #include <iostream>
#include <cmath>
using namespace std;
 
int main(int argc, char** argv) {
    int a, b; // 0 ??? a, b ??? 1000000
    while(cin >> a >> b) {
        cout << (int)floor(log10((double)a+b))+1 << endl;
    }
    return 0;
}

C++: #include<stdio.h>
#include<iostream.h>
using namespace std;
int main(){
	int ab[200][2],f,i=0,a,g,k=0;
	while(cin<f){
		scanf("%d %d",&ab[i][1],&ab[i][2]);
		i++;
	}
	for(int j=0;j<i;j++){
		a=ab[j][1]+ab[j][2];
		for(g=0;;g++){
			a=a/10;
			k++;
			if(a==0){
				printf("%d\n",k);
				break;
			}
		}
		k=0;
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

int main() {
	
	int a, b;
	
	while( cin >> a >> b) {
		
		int count = 0;
		
	int sum = a + b;
	
	while( sum != 0) {
		
		sum /= 10;
		count ++;
		
	}
		cout << count << "\n";
}
	return 0;
}

C++: #include<stdio.h>

int main(){
 int i,j,k;

 while(scanf("%d %d",&i,&j)!=EOF){
  i+=j;
  for(k=i,j=1;k<10;j++,k/=10)
   ;
  printf("%d\n",j);
 }
 return 0;
}

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

int main() {
  int a, b, N;
  stringstream ss;
  while (cin >> a >> b) {
    ss << a + b;
    N = ss.str().size() - 1;
    cout << ss.str()[N] << endl;
  }
  return 0;
}

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

int main() {
	long long int a, b, c;
	int x;
	bool flg = true;

	for (int i=0;i<3;i++) {
		cin>>a;
		if (a==0)
			break;
		cin>>b;

		c=a+b;

		x = 1;
		flg = true;
		while (flg) {
			if ((c=c/10)>0)
				x++;
			else
				flg = false;
		}
		cout<<x<<endl;
	}
	return 0;
}