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++: /***

            Bismillahir Rahmanir Rahim
            Read the name of Allah, who created you!!!
            Author : Shah Newaj Rabbi Shishir
            Department of CSE, City University, Bangladesh.

***/

#include <iostream>
#include <cctype>
#include <cstdlib>
#include <cstdio>
#include <string>
#include <cstring>
#include <algorithm>
#include <cmath>
#include <stack>
#include <queue>
#include <vector>
#include <map>
#include <iterator>
#include <sstream>
#include <iomanip>
using namespace std;

#define sf scanf
#define pf printf

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

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

        int k = 0;

        while (sum != 0)
        {
            sum /= 10;
            k++;
        }

        cout << k << endl;
    }

    return 0;
}

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

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

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

C++: main(a,b,i,x){for(;scanf("%d%d",&a,&b)!=-1;){for(x=a+b,i=1;x=x/10;i++);printf("%d\n",i);}}

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

using namespace std;

int main(){
	int a,b;
while(cin>>a>>b){
	}
	int n=a+b;
	if (n>99999){	
	cout<<6<<endl;
}
	else if(n>9999){
		cout<<5<<endl;
	}
		else if(n>999){
		cout<<4<<endl;
	}
		else if(n>99){
		cout<<3<<endl;
		}
		else if(n>99){
		cout<<2<<endl;
	}
	else{ 
	cout<<1<<endl;
	}
	}

C++: #include <iostream>

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

C++: #include<stdio.h>
#define N 200

struct{int a,b;} d[N];

int main(){
    int i,j,l,s,k;
    for(i=0; i<N; scanf("%d %d",&d[i].a,&d[i].b),i++){
        if(d[i].a==NULL)break;
    }
    l=i;
    for(i=0;i<l;i++){        
        s=d[i].a+d[i].b;
        for(j=1,k=0; s>=j; j*=10,k++);
        printf("%d\n",k);        
    }
    return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
	int a=0,b=0;
	for(;;){
		cin>>a>>b;
		if(a+b<10)cout<<"1"<<endl;
		if(a+b<100)cout<<"2"<<endl;
		if(a+b<1000)cout<<"3"<<endl;
		if(a+b<10000)cout<<"4"<<endl;
		if(a+b<100000)cout<<"5"<<endl;
		if(a+b<1000000)cout<<"6"<<endl;
		if(a+b<10000000)cout<<"7"<<endl;
		if(a+b<100000000)cout<<"8"<<endl;
		if(a+b<1000000000)cout<<"9"<<endl;
	}
}

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

int main()
{
	string strNumber;
	long long int iNumberA,iNumberB,iLength[256],i=0;

	while( i < 200 ){
		cin >> iNumberA;
		cin >> iNumberB;

		strNumber = to_string( iNumberA+iNumberB );

		iLength[i] = strNumber.length();

		i++;
	}

	for( int i=0;i<200;i++ ){
		if( iLength[i] == 0 ) break;

		cout << iLength[i] << 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<string>
using namespace std;
int main(){
	int a,b;
	while(cin>>a>>b){
		string S=to_string(a+b);cout<<S.size()<<endl;
	}
	return 0;
}

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

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

#pragma warning(disable:4996)
int main()
{
	char Work[256];

	int Num[2];
	int Divide;
	int nCnt2,nCnt = 0, Result, Keta = 1;

	while (gets(Work))
	{
		for (nCnt = 0; Work[nCnt] != '\0'; nCnt++)
		{
			if (Work[nCnt] == ' ')
			{
				char Work2[256];
				char Work3[256];

				strcpy(Work2, &Work[nCnt]);

				Work[nCnt] = '\0';

				strcpy(Work3, Work);

				Num[0] = atoi(Work3);
				Num[1] = atoi(Work2);
				break;
			}
		}

		Result = Num[0] + Num[1];

		Keta = 1;
		for (nCnt = 0; ;nCnt++)
		{
			Result = Result / 10.0f;

			if (Result > 0)
				Keta++;
			else
				break;
		}

		printf("%d\n", Keta);
	}
	
	return 0;
}

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

C++: #include <iostream>
using namespace std;
int calc(int);

int main(){
    int a;
    int b;
    while(cin>>a>>b){
        cout << calc(a+b) <<"\n";
    }
	
    return 0;
}

int calc(int value){
    int count = 1;
    while((value /= 10) != 0){
        count++;
    }
    return count;
}

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

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

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

using namespace std;

int main()
{
	char buf[2000];
	int a,b,c;
	clock_t start,end;

	start=clock();

	while(1){
		c=1;
		cin>>a>>b;

		a+=b; while(a/=10) c++;

		cout<<c<<endl;

		end=clock();

		if((double)(end-start)/CLOCKS_PER_SEC > 0.9) return 0;
	}

}

C++: #include <stdio.h>

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

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

C++: #include<iostream>
using namespace std;
int main(){
  int x,y;
  while(cin >>x>>y){
    int c = x+y;
    for(int i=1;;i++){
      c/=10;
      if(c == 0){cout <<i<<endl;break;}
    }
  }
  return 0;
}

C++: #include <stdio.h>

int main() {
    
    int l, m, n, i;
    
    while (1) {
        
        if(scanf("%d %d", &l, &m) == EOF) break;
        
        n = l + m;
        
        for (i = 1; n > 9; i++) {
            n /= 10;
        }
        
        
        printf("%d\n", i);
        
    }
    return 0;
}

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

int main()
{
    do {
        int a, b;
        std::cin >> a >> b;
        std::cout << floor(log10((double)a + b)) + 1 << std::endl;
    } while (std::cin);
}