Go: package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		i := scanner.Text()
		var total int
		inputNum := strings.Fields(i)
		for _, v := range inputNum {
			num, err := strconv.Atoi(v)
			if err != nil {
				break
			}
			total += num
		}
		fmt.Println(DigitCount(strconv.Itoa(total)))
	}
}

func DigitCount(str string) int {
	return len(str)
}

C++: #include<iostream>

using namespace std;



long  n(int k){
       if(k<10&&k>0) return 1;
     if(k>=10&&k<=99) return 2;
     if(k>=100&&k<=999) return 3;
     if(k>=1000&&k<=9999) return 4;
     if(k>=10000&&k<=99999) return 5;
     if(k>=100000&&k<=999999) return 6;
     
     return n(k);
     }

int main(){
    
    
    int i,j,k;
    
    cin>>i;
    cin>>j;
    k=i+j;
  
    cout<<n(i);
      return 0;
    
  
    
    }

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


int main(){

	int a,b,sum;

	while(cin>>a){
		cin>>b;

		sum = a+b;

		int count=1;

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

		cout<<count<<endl;
	}
	return 0;
}

C++: #include <iostream>

int main(){
	int cnt,a,b;
	while(std::cin>>a>>b){
                cnt=0;
		for(int i=10;;i*=10){
			if((a+b)/i==0){
				std::cout<<cnt<<'\n';
				break;
			}
                        cnt++;
		}
	}
	return 0;
}

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

using namespace std;

void readData(vector<string>& input_data){
    string buff;
    while(getline(cin, buff))
        input_data.push_back(buff);
}

int perseString(string line) {
    stringstream ss;
    ss << line;

    int a, b;
    ss >> a >> b;

    return a + b;
}

int countDigit(int n){
    int cnt = 1;

    while(n /= 10)
        ++cnt;

    return cnt;
}

void mainRoutine(){
    vector<string> input_data;

    readData(input_data);

    for(int i = 0; i < input_data.size(); ++i){
        auto ret = perseString("100 200");
        cout << countDigit(ret) << endl;
    }
}

int main() {
    mainRoutine();

    return 0;
}

C++: num = []
i=1
while a = gets
      num = a.split(" ")
      sum = num[0].to_i + num[1].to_i
      puts sum.to_s.size
end

C++: #include<iostream> 
using namespace std; 
void fun(int);
int main() 
{ 
	int a=0,b;
	while (getchar() != EOF)
	{
		cin >> a >> b;
		fun(a + b);
		getchar();
	} 
	return 0; 
}
void fun(int a)
{
	int n = 0;
	while (a)
	{
		a = a / 10;
		n++;
	}
	cout << n << endl;
}

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

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

C++: #include <iostream>

int main(int argc, char **argv) {
	int a, b, sum, digit;
	
	while(std::cin) {
		a = 0;
		b = 0;
		std::cin >> a >> b;
		sum = a + b;
		
		digit = 0;
		if(a * b > 0) {
			while(sum != 0) {
				sum /= 10;
				digit += 1;
			}
			std::cout << digit << std::endl;
		}
	}
}

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

int main(){
	int a,b,c;
	int ans;
	
	for(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()
{
    int a, b;
    while(cin >> a >> b)
    {
        int cnt = a + b, digit = 0;
        do
        {
            digit++;
            cnt /= 10;
        }while(cnt);
        cout << digit << endl;
    }
    return 0;
}

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

int main( int argc, char **argv ) {

  int a;
  int b;
  int s;
  int keta;

  while (1) {
    scanf("%d %d", &a, &b);
    s = a + b;
    keta = 0;
    while (s) {
      s /= 10;
      ++keta;
    }
    printf("%d\n", keta);
  }
  
  return EXIT_SUCCESS;
}

C++: #include<iostream>

using namespace std;

int main(void) {
    int a, b;
    while(cin >> a >> b) {
        int sum = a + b;

        int c = 1;
        while (9 < sum) {
            sum = sum / 10;
            c++;
        }

        cout << c << endl;
    }
}

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

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

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

using namespace std;

int main()
{
	int a[200], b[200], n, ans=0;
	for (int i = 0; i < 200; i++) 
	{
		cin >> a[i] >> b[i];
		n = a[i] + b[i];
		while (n >= 1) 
		{
			n /= 10;
			ans++;
		}
		cout << ans << endl;
		ans = 0;
	}
}

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

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

int main()
{
    int a,b;
    string s;
    vector<int> d(0);
    while (cin>>a>>b)
    {
        d.push_back(0);
        a+=b;
        s=to_string(a);
        d[d.size()-1]=s.size();
    }
    for (int i=0; i<d.size(); i++) cout<<d[i]<<'\n';
    return 0;
}

C++: #include <stdio.h>
#define ld long long int
int adddig(ld a, ld b);
int main()
{
    ld a, b;
    while(scanf("%lld %lld", &a, &b)!=EOF)
        printf("%d\n", adddig(a,b));
}
int adddig(ld a, ld b)
{
    int c=0;
    a+=b;
    for(;a!=0;a/=10)
        c++;
    return c;
}

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

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


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

		for (;;)
		{
			sum = sum / 10;
			n = n + 1;

			if (sum == 0)
			{
				break;
			}
		}

		cout << n << endl;
	}

  return 0;
}

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

int main() {
	int a, b;

	while (std::cin >> a >> b) {
		std::cout << static_cast<int>(std::log10(a + b)) + 1 << std::endl;
	}

	return 0;
}

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

using namespace std;

int main(void){

 int a,b;
 int sum;
 int ans;

  cin >> a >> b;
  sum=a+b;
  ans=log10(sum)+1;

  cout << ans << endl;
}

C++: /*
　　　　 ∧＿∧　にっぽんちゃちゃちゃ
　／＼（　・∀・）／ヽ
（ ●　と　　　つ　● ）　にっぽんちゃちゃちゃ
　＼/⊂、 ノ　　＼ノ
　　　　　し'
*/
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0;i<(int)(n);++i)
#define repone(i,n) for(int i=1;i<(int)(n);++i)
#define repo(i,o,n) for(int i=o;i<(int)(n);++i)
#define Rep(j,n) for(int j=0;j<(int)(n);++j)
#define Repone(j,n) for(int j=1;j<(int)(n);++j)
#define all(v) (v).begin(),(v).end()
#define rall(v) (v).rbegin(),(v).rend()
#define int long long
#define MOD 1000000007
#define INF 9223372036854775807


signed main()
{
  string xyz ="";
int x=0,y=0,z=0,w=0,i=0,j=0,n=0;
std::vector<int> v;
while (std::cin >> x>>y) {
  z=x+y;
  i=1;
  for(;;){
    if(z/10==0){
      std::cout << i << '\n';
      break;
    }
    z/=10;
    i++;
  }
  /* code */
}
}

C++: #include <iostream>

using namespace std;

int main()
{
	int n1, n2, s;

	while (cin >> n1 >> n2) {
		int cnt = 0;
		for (s = n1 + n2; s > 0; s /= 10) {
			cnt++;
		}
		cout << cnt << endl;
	}
	return 0;
}

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


int main(){
	for(int i = 0; i <3; ++i){

		int a;
		int b;
		int c;
		int f = 1;

		cin >> a >> b;

		c = a + b;

		while(1){
			c = c / 10;

			if(c <= 0){
				break;
			}
			++f;
		}

		cout << f << endl;
	}

	return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main(){
	int a,b;
	while(cin>>a>>b){
	int t=8500;
	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>
using namespace std;

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

	while (1) {
		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;
}