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 <iostream>

using namespace std;

int main(){
	int a, b, c, i;
	int number = 1;

	cin >> a >> b;
	c = a+b;

	for(i=0; i++){
		if(c/10 != 0){
			number = number + 1;
		}
		else{
			break;
		}

		cout << number << endl;
	}
}

C++: #include <cstdio>

int main() {
	int a, b;
	char temp[100];

	while (scanf("%d %d", &a, &b) != EOF) {
		printf("%d\n", sprintf(temp, "%d", a + b));
	}

	return 0;
}

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

int main(void){
    int a,b;
    while(cin>>a>>b){
        a+=b;
        for(int i=1; i<=7; i++){
            b=a-10*i;
            if(b<0){
                cout<<i<<endl;
                break;
            }
        }
    }
    return 0;
}

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

using namespace std;

int main(){
  int a,b;
  stringstream c;
  cin >> a >> b;
  c << a+b;
  string str = c.str();
  cout << str.length() << endl;

  return 0;
}

C++: #include<iostream>
using namespace std;
int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    long long x,y,z;
    int count=1;
    cin >> x >> y;
    z = x + y;
    while(z/=10){
        count++;
    }
    cout<<count<<"\n";
}

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

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

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

int main()
{
    int IsB = 0,i = 0;
    char a[20],b[20],*digits;
    while(1){
        char str;
        scanf("%c",&str);
        if(str == EOF)break;
        if(str == ' '){
            i = 0;
            IsB = 1;
        }else if(str == '\n'){
            sprintf(digits,"%d",atoi(a) + atoi(b));
            printf("%d\n",strlen(digits));
        }else if(IsB == 0){
            a[i++] = str;
        }else{
            b[i++] = str;
        }
    }
}

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

void digit(float num, int &n);

void digit(float num, int &n){

	if(static_cast<float>(num)/10.0 >= 1){
		++n;
		digit(num/10, n);
	}else{
		return;
	}

}

int main(){

	int a,b;
	int n;

	while(cin>>a>>b){

		n=1;
		digit(a+b,n);
		cout<<n<<"\n";
	}
	return 0;

}

C++: #include<iostream>
using namespace std;
   
int main(){
   int a[200],b[200],c[200],digit[200];
   int i,imax,j;
   i = 0;
   j = 1;
   for(i=0;i<200;i++)digit[i] = 1;
   while(j){
     cin >> a[i] >> b[i];
     c[i] = a[i] + b[i];
     i++;
     if(a[i]==NULL||b[i]==NULL)
       break;
   }
   
   imax = i;
   
   for(i=0;i<imax+1;i++){
     while(c[i]>=10){
       c[i] /= 10;
       digit[i]++;
     }
   }
   
   for(i=0;i<imax+1;i++)cout << digit[i] << endl;
   
   return 0;
}

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

int main()
{
  int a,b;

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

    if((a+b)/10==0)
      cout<<1<<endl;
    else if(0<(a+b)/10 && (a+b)/10<10)
      cout<<2<<endl;
    else if (0<(a+b)/100 && (a+b)/100<10)
      cout<<3<<endl;
    else if (0<(a+b)/1000 && (a+b)/1000<10)
      cout<<4<<endl;
    else if (0<(a+b)/10000 && (a+b)/10000<10)
      cout<<5<<endl;
    else if (0<(a+b)/100000 && (a+b)/100000<10)
      cout<<6<<endl;
    else if (0<(a+b)/1000000 && (a+b)/1000000<10)
      cout<<7<<endl;
  }

  return 0;
}

C++: #include<cstdio>
#include<vector>
#include<algorithm>
using namespace std;
int main(void){
	int a;
	int b;
	int n;
	int s;
	int c;

 	while (scanf("%d %d", &a,&b) != EOF){
		s = a + b;
		if (s == 0)printf("1\n");
		else{
			for (int i=1;i<10;i++){
				s = s / 10;
				if (s == 0){
					printf("%d\n", i);
					break;
				}
			}
		}

	}

		return 0;
	}

C++: #include <iostream>

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

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

int main(){
	cin.tie(0),ios::sync_with_stdio(false);
	int a,b;
	while(cin>>a>>b){
		int sum=a+b;
		int cnt=0;
		while(sum){
			++cnt;
			sum/=10;
		}
		cout<<cnt<<"\n"s;
	}
}

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

C++: #include<cstdio>

int main()
{
	int a,b;
	while(scanf("%d %d",&a,&b)!=(EOF))
	{
		int count=1;
		double d=a+b;
		while(d>=10)
		{
			d/=10;
			count++;
		}
		printf("%d",count);
	}
	return 0;
}

C++: #include <iostream>

using namespace std;

int main() {
	int a[500], b[500],sum[500],d[500],k[500];
	int i = 0;
	k[500] = 0;
	while (1) {
		cin >> a[i] >> b[i];
		if (a[i] == 0 && b[i] == 0)break;
		sum[i] = a[i] + b[i];
		while (!sum[i]) {
			sum[i] /= 10;
			k[i]++;
		}
		i++;
	}
	while (!k[i]) {
		cout << k[i] << endl;
	}
	return 0;
}

C++: #include <iostream>

using namespace std;

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

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

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

C++: #include <iostream>

u_int getDigit(u_int n){
	u_int digit = 0;
	
	while(n > 0){
		n /= 10;
		++digit;
	}
	
	return digit;
}
  
int main(){
    u_int a, b;
    
    while(std::cin >> a >> b){
        std::cout << getDigit(a + b) << std::endl;
    }
	
    return 0;
}

C++: //--------------------------------------------------template----------------------------------------//
//c
#include <stdio.h>
#include <time.h>
#include <math.h>
//c++
#include <cstdio>
#include <iostream>
#include <algorithm>
#include <functional>
#include <cstdlib>
#include <sstream>
#include <string>
#include <set>
#include <map>
#include <stack>
#include <queue>
#include <deque>
#include <vector>
#include <complex>
#include <cmath>
//c++11
#include <tuple>
#define all(c) ((c).begin(),(c).end())
#define rall(c) (c).rbegin(),(c).rend()
//#define sort(v,n) sort(v,v+n)
//#define vsort(v) sort(v.begin(),v.end())
#define vvsort(v) sort(v.rbegin(),v.rend())
#define ll long long
#define pb(a) push_back(a)
#define fi first
#define se second
#define inf 999999999
using namespace std;
const ll MOD = 1e9 + 7;
const double PI = acos(-1.0);
//---------------------------------------------------------------------------------------------//
int main() {
	int a, b;
	while (cin>>a>>b) {
		int c = a + b;
		int digit = 0;
		while (c > 0) {
			c /= 10;
			digit++;
		}
		cout << digit << endl;
	}
}

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