Go: package main

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

func main() {
	scanner := bufio.NewScanner(os.Stdin)
	for scanner.Scan() {
		row := strings.Split(scanner.Text(), " ")
		var sum int
		for _, v := range row {
			num, _ := strconv.Atoi(v)
			sum += num
		}
		fmt.Println(len([]rune(strconv.Itoa(sum))))
	}
}

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

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

int getDigital(int sum) {
	int a=1;
	while ( sum / 10 ) {
		a++;
		sum /= 10;
	}
	return a;
}

int main() {
	int a,b,c;
	while(cin >> a >> b) {
		c = getDigital(a + b);
		cout << c << endl;
	} 
}

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

C++: #define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <cmath>

using namespace std;

int main()
{
	int a;
	int b;

	while (cin >> a >> b) {
		//scanf("%d%d", &a, &b);
		if (a + b == 0) printf("%d\n", 1);
		else printf("%d\n", (int)log10(a + b) + 1);
	}

		return (0);
	
}

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

using namespace std;

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

	while ( cin >> a >> b )
	{
	
		digit = log10( a + b ) + 1;
		cout << digit << endl;
	}

	return 0;

}

C++: #include <cstdio>
#include <algorithm>

using namespace std;

int main() {
	while(true) {
		int a,b;
		if(scanf("%d%d", &a, &b)<2)break;
		a+=b; b=0;
		while(a)b++,a/=10;
		printf("%d\n",b);
	}
	return 0;
}

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

using namespace std;
int a,b;
int s;
int Count;
int main(){
  Count = 0;
  scanf("%d %d",&a,&b);
  s = a+b;
  for(; s !=0; s/=10){
    Count++;
  }
  cout << Count;
}

C++: ///
// File:  0002.cpp
// Author: ymiyamoto
//
// Created on Sat Nov  4 15:39:12 2017
//

#include <cstdint>
#include <iostream>

using namespace std;

int32_t main()
{
  while (true) {
    uint32_t a, b;
    cin >> a >> b;
    if (cin.eof()) break;
    cout << to_string(a + b).size() << endl;
  }

  return 0;
}

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

int main(){

  double a, b;

  while( cin >> a >> b ){
    cout << fabs(floor( log10( a+b ) )) + 1 << "\n";
  }

}

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

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

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

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

C++: #include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
int main(void) {
  int a, b, sum;
  double cnt;
  while(scanf("%d %d", &a, &b) != EOF) {
    sum = a + b;
    cnt = log10(sum);
    cout << (int)cnt + 1 << endl;
  }
  return 0;
}

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

int main(){
	int a,b,i,sum=0;
	
	while(scanf("%d",&a) != EOF){
		cin>>b;	
		a=a+b;
		while(a!=0){
			a = a / 10;
			sum++;
		}

		cout<<sum<<endl;
		sum=0;
	}
    return 0;
}

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

int main(){
	int i;
	int count;
	int a[200],b[200],sum[200];
	int temp = 0;

	while(cin >> a[temp] >> b[temp])
	{
		sum[temp] = a[temp] + b[temp];
		temp++;	
	}

	for (i = 0; i < temp; i++)
	{
		count = 0;

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

		cout << count << endl;

	}

	return 0;

}

C++: #include <bits/stdc++.h>
using namespace std;
int c,d,a,b;

int main (){
	cin>>a>>b;
	d=a+b;
	if(d%10==d){
		cout<<1<<endl;
	}
	else if(d%100==d){
		cout<<2<<endl;
	}
	else if(d%1000==d){
		cout<<3<<endl;
	}
	else if(d%10000==d){
		cout<<4<<endl;
	}
	else if(d%100000==d){
		cout<<5<<endl;
	}
	else if(d%1000000==d){
		cout<<6<<endl;
	}
	else if(d%10000000==d){
		cout<<7<<endl;
	}
}

C++: #include<iostream>

using namespace std;

int main(){
	
	int num,i;

	int a[200],b[200],sum[200],figure;
	
	for(i=0;i<3;i++){
		do{
			cin >> a[i] >> b[i];
		}while((a[i]<0||a[i]>100000)&&(b[i]<0||b[i]>100000));
		
		sum[i] = a[i] + b[i];
		
	}
	
	for(i=0;i<num;i++){
		figure = 1;
		while(sum[i]/10!=0){
			sum[i] = sum[i]/10;
			figure++;
		}
		cout << figure << "\n";
	}
	
	return 0;
}

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

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

int count_digits(long number)
{
	int result = 1;
	while (number >= 10) {
		number /= 10;
		++result;
	}
	return result;
}

int main()
{
	long a, b;
	while (std::cin >> a >> b) {
		std::cout << count_digits(a + b) << std::endl;
	}

	return 0;
}

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

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

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

using namespace std;

int main()
{
  int a,b;

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

    while(1){
      sum = sum / 10;
      ans++;
      if(sum == 0){
        break;
      }
    }
    cout<<ans<<endl;
  }
  
  return 0;
}

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

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#include <vector>
#include <algorithm>
#include <string>
#include <set>
#include <map>
#include <queue>
using namespace std;
typedef long long int ll;
const int INF = 100000000;
#define rep(i,n) for(int i=0;i<(int)(n);i++)
int main(){
    int a, b;
    vector <int> ans;
    while(cin >> a >> b){
        int c = a + b, count = 0;
        while(c){
            count++;
            c /= 10;
        }
        cout << count << endl;
    }
    return 0;
    
}

C++: #include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
  int a,b;
  char ans[16];
  while(scanf("%d %d",&a,&b) != EOF){
    if(a == 0 && b == 0)break;
    sprintf(ans,"%d",a+b);
    int len = strlen(ans);
    cout << len << endl;
  }
}

C++: #include<iostream>

int a, b, n, m;

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

C++: #include<iostream>
#include<algorithm>
#include<cmath>
#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;
	}
}