Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

func Sliceconvtoi() []int {
	strs := strings.Split(sc.Text(), " ")

	var ints []int
	var x int

	for _, s := range strs {
		x, _ = strconv.Atoi(s)
		ints = append(ints, x)
	}

	return ints
}

func main() {
	for sc.Scan() {
		i := Sliceconvtoi()
		fmt.Println(int(math.Log10(float64(i[0]+i[1]))) + 1)
	}

}

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

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

C++: #include <iostream>
using namespace std;
int main(){
  int a;
  int b;
  int k;//足した和
  int p;//引く数 
  for(;;){
    cin >> a >> b;
    k=a+b;
    for(int i=0;i<11;i++){
      p=1;
      for(int j=1;j<i;j++){
	p=p*10;
      }
      if(k<p){
	cout << i-1 << endl;
	i=99;
      }	 
    }
  }
}

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

C++: #include <iostream>

using namespace std;

int sum(int n){
int res = 1;
while(n / 10 > 0){
res++;
n/=10;
}

return res;
}

int main()
{
int a,b;
while(~scanf("%d %d",&a,&b)){
printf("%d\n",sum(a)+sum(b));
}
}

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

using namespace std;

int a, b;

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

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

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

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

C++: #include <bits/stdc++.h>
using namespace std;
int main(){
  long long a,b;
  cin >> a >> b;
  string s=to_string(a+b);
  cout << s.size() << endl;
  return 0;
}

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

using namespace std;

int main() {
  int a;
  int b;
  cin >> a >> b;
  if (a + b == 0) {
    printf("%d\n", 1);
  }else{
    printf("%d\n",1+((int)floor(log10(a + b))));
  }
  return 0;
}

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

int main()
{
    while(true){
        std::string a, b;
        std::cin >> a >> b;
        if(std::cin.eof()) break;
        std::cout << a.length() + b.length() << std::endl;
    }
    return 0;
}

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

int main(){
int a,b;

while(scanf(" %d %d",&a,&b)){
int cnt=1;
for(int i=1;i<8;i++){
if(a+b-i*10<0)break;
cnt++;
}

cout << ont << endl;

return 0;
}

C++: #include <cstdio>
#include <iostream>
#include <cmath>
using namespace std;
int main() {
	int a, b;
	while(cin >> a >> b) {
		a += b;
		a = (int)log10((double)a) + 1;

		cout << a << endl;
	}
	return 0;
}

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

int a;
int b;

int main(){
	for (int i = 0; i < 200; i++){
		cin >> a >> b;
		}
		if (a + b >= 1000000){
			cout << "7" << endl;
		}
		if (a + b >= 100000&&a+b<1000000){
			cout << "6" << endl;
		}
		if (a + b >= 10000&&a+b<100000){
			cout << "5" << endl;
		}
		if (a + b >= 1000&&a+b<10000){
			cout << "4" << endl;
		}
		if (a + b >= 100&&a+b<1000){
			cout << "3" << endl;
		}
		if (a + b >= 10&&a+b<100){
			cout << "2" << endl;
		}
		if (a + b >= 0 && a + b<10){
			cout << "1" << endl;
		}

	

	return 0;
}

C++: #include<iostream>
#include<math.h>

using namespace std;

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

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

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

int main(){
	int a,b;
	char str[8];

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

	return 0;
}

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

int main(void){

	int a,b;

	scanf("%d %d",&a,&b);

	printf("%d\n",(int)log10(a+b*1.0)+1);

	return 0;

}

C++: #include <iostream>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <algorithm>
#include <utility>
#include <queue>
int n,a,b;
using namespace std;
int main(){
	std::ios::sync_with_stdio(false);
	cin>>a>>b;
	n=a+b;
	int counter=0;
	while(n){
		n=n/10;
		counter++;
	}
	cout<<counter;
	return 0;
}

C++: #include <iostream>
using namespace std;
int main()
{
	int a,b;
	while (a != EOF){
		cin >> a;
		cin >> b;
		cout << a + b << endl;
	}
}

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

int main(){

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

return 0;
}

C++: #include<iostream>
#include<algorithm>
using namespace std;
int main(){
	int a,b;
	while(cin>>a>>b){
	int t=8700;
	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 a[200],b[200],c[200],i=0,k=0;
	
	while(1){
		cin>>a[k]>>b[k];
		c[k]=a[k]+b[k];
		while(1){
			
			if(c[k]<=pow(10,i)){
				cout<<i<<endl;
				break;
			}
			
			else{
				i++;	
			}	
		}
		i=1,k++;		
	}
	return 0;
}

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

using namespace std;

int main(void) {
	int n, m, sum;
	int digit = 1;
	vector<int> v;

	while (cin >> n >> m){
		sum = n + m;
		while (sum /= 10) {
			digit++;
		}
		v.push_back(digit);
	}

	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << endl;
	}

	return 0;
}

C++: #include <cstdio>

long maks(long a, long b, long c);

int main() {
    int t;
    scanf("%d", &t);
    for (;t > 0; t--) {
        long a, b, c;
        scanf("%d %d %d", &a, &b, &c);
        a = a*a;
        b = b*b;
        c = c*c;
        if ( maks(a, b, c) == (a + b + c - maks(a, b, c))) {
             printf("YES\n");
        } else printf("NO\n");
    }
    return 0;
}

long maks(long a, long b, long c) {
     if ((a > b)&&(a > c)) {return a;}
     else if ((b > a)&&(b > c)) {return b;}
     else {return c;}
}

C++: #include <iostream>
#include <string>
#include <vector>
#include <cstring>
#include <climits>
#include <algorithm>
#include <map>
using namespace std;

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

C++: #include <cstdio>
#include <cstdlib>
#include <cmath>

using namespace std;

int main(void) {
	int p, q;
	while(scanf("%d %d", &p, &q) == 2) {
		int s = p + q;
		int ans = (int)log10((double)s) + 1;
		printf("%d\n", ans);
	}
	return 0;
}

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

int main(){
	int a,b,c;
	int ans;
	int cnt=-1;
	
	while(cin>>a>>b){
		cnt++;
		//-----test-----
		if(a<=1000 || 100000<=a) break;
		
		//--------------
		c=a+b;
		ans=1;
		while(10<=c){
			c/=10;
			ans++;
		}
		cout<<ans<<endl;
	}
	
	return 0;
}

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

int main(){
	int a,b;
	while(cin>>a>>b){
		
		if( a<0||b<0||1000000<a||1000000<b)
			break;
		cout<<(int(log10(a+b))+1)<<endl;
	}
	return 0;
}

C++: #include<bits/stdc++.h>
#define ll long long 
#define ull unsigned long long 
#define ld long double
#define ui unsigned int 
using namespace std;
int main()
{
	int a, b;
	while (cin >> a >> b) {
		int s = a + b;
		int c = 0;
		while (s > 0) {
			s = s / 10;
			c++;
		}
		cout << c<<endl;
	}
}