Go: package main

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

var scanner = bufio.NewScanner(os.Stdin)

func nextString() string {
	scanner.Scan()
	return scanner.Text()
}

func nextInt() (int, error) {
	return strconv.Atoi(nextString())

}

func main() {
	scanner.Split(bufio.ScanWords)

	for {
		a, err := nextInt()
		if err != nil {
			break
		}
		b, _ := nextInt()

		s := a + b
		nDigits := int(math.Log10(float64(s))) + 1
		fmt.Println(nDigits)
	}
}

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

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

using namespace std;

int main(int argc, char **argv) {
    int a, b;

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

    return 0;
}

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

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

int main(){
	int a, b, c, i=0, count=0, data[200];
	while(cin>>a>>b){
		c=a+b;
		while(c!=0){
			c/=10;
			count++;
		}
		
		data[i]=count;
		count=0;
		i++;
	}
	i=0;
	while(data[i]!=0){
		cout<<data[i]<<endl;
		i++;
	}
	return 0;
}

C++: #include <iostream>
#include <sstream>
int main()
{
        for(uint8_t i=0;i<=200;i++)
        {
                std::string str;
                getline(std::cin, str);
                std::stringstream s(str);
                uint32_t a,b;
                s>>a>>b;
                uint32_t sum=a+b;
                uint8_t count;
                for(count=0;sum>0;count++)
                        sum=sum/10;
                printf("%u\n",count);
        }

        return 0;
}

C++: #include <iostream>
int main(){
	int a,b,c;
	std::cin>>a>>b>>c;
	if(a*a==b*b+c*c){
		std::cout<<"YES"<<std::endl;
		}
	else if(b*b==a*a+c*c){
		std::cout<<"YES"<<std::endl;
		}
	else if(c*c==a*a+b*b){
		std::cout<<"YES"<<std::endl;
		}
	else std::cout<<"NO"<<std::endl;

	
		
	 return 0;
	}

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

C++: #include<iostream>

using namespace std;

int main(){
	
	int i;

	int a[3],b[3],sum[3],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<3;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;
	int ans;
	int cnt=-1;
	
	while(cin>>a>>b){
		cnt++;
		//-----test-----
		if(a<10000) break;
		
		//--------------
		c=a+b;
		ans=1;
		while(10<=c){
			c/=10;
			ans++;
		}
		cout<<ans<<endl;
	}
	
	return 0;
}

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

int main(void)
{
    int a, b;
    char res[256];

    std::string str;

    while (getline(std::cin, str)) {
        std::istringstream str_s(str);
        str_s >> a >> b;

        sprintf(res, "%d", a+b);

        std::cout << strlen(res) << std::endl;
    }

    return 0;
}

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

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

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

C++: #include<iostream>

using namespace std;

int main(){
	
	int i;

	int a,b,sum,figure;

	while(cin >> a >> b){
		sum = a + b;
		figure = 1;
		while(sum/10!=0){
			sum = sum/10;
			figure++;
		}
		cout << figure << "\n";
	}	
	return 0;
}

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

int a,b,c,hasil;

int main()
{
	for(a,b;scanf("%d %d",&a,&b);)
	{
		hasil=1;
		c=a+b;
		while(c>=10)
		{
			c=c/10;
			hasil++;
		}
		printf("%d\n",hasil);
	}
	return 0;
}

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

C++: #include<iostream>

int main(){
  int a,b;
  while(std::cin >> a >> b){
    int sum = a + b;
    int i = 0;
    do{
      sum /= 10;
      i++;
    }while(sum > 0);
    std::cout << i << std::endl;
  }

  return 0;
}

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

int main()
{
    long long n, m;
    string output;

    while (cin >> n >> m){
        output = to_string(n+m);
        cout << output.size()<<endl;
    }

    return 0;
}

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

int a;
int b;

int main() {
  while (c != EOF) {
    c = dainyuu();
    int i;
    a = a + b;
    while(a > 0) {
      a = a / 10;
      ++i;
    }
    
    cout << i << endl;
    
  }
}

int dainyuu() {
  cin >> a >> b;
}

C++: #include<iostream>
#include<string>
int main() {
	int data1,data2,i;
	char a[100];
	while (1) {
		std::cin >> data1 >> data2;
		if (data1==EOF) break;
		data1 += data2;
		std::string aa = std::to_string(data1);
		for (i = 0; aa[i] != '\0'; i++) {

		}
		std::cout << i << std::endl;
	}
	return 0;
}

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

#define MAX 100000000
#define MIN 0

using namespace std;

int main() {
    int i,j;
    int a,b;
    int buf = 0;
    vector<int> sum;
    vector<int> digit;
    
    while(scanf("%d %d",&a, &b) != EOF) {
        if((a < MIN) || (b > MAX)) {
            continue;
        }
        
        sum.push_back((a + b));
    }
    
    for(i = 0; i < sum.size(); ++i) {
        j = MAX;
        
        while(j >= MIN) {
            buf += ((sum.at(i) / j) * j);
            j /= 10;
        }
        
        digit.push_back(buf);
    }
    
    for(i = 0; i < digit.size(); ++i) {
        printf("%d\n",digit.at(i));
    }
    
    return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <vector>
#include <cstdio>
#include <string>
#include <set>
#include <queue>
#include <stack>
#include <cmath>
#include <functional>
using namespace std;
typedef long long ll;
typedef vector<int> vi;
typedef vector<long long > vll;
typedef vector< vi > vvi;
int main() {
	int a, b, n = 0;
	while (cin >> a >> b) {
		a += b;
		for (int i = 0; a > 0; i++) {
			a = a / 10;
			n++;
		}
		if (n == 0) {
			n = 1;
		}
		cout << n << endl;
		n = 0;
	}
}