Go: package main

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

func main() {
        sc := bufio.NewScanner(os.Stdin)

        for sc.Scan() {
                digits := 0
                num := 0
                for _, s := range strings.Fields(sc.Text()) {
                        i, _ := strconv.Atoi(s)
                        num += i
                }
                for num > 0 {
                        digits += 1
                        num /= 10
                }
                fmt.Printf("%d\n", digits)
        }
}

C++: #include <cstdio>
using namespace std;
int main(){
	long a,b,i;
	while(scanf("%ld %ld",&a,&b)!=EOF){
		i=1;a+=b;
		while(i>a) i*=10;
		printf("%ld\n",i-1);
	}
	return 0;
}

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="7767555555555555555555555555555555555555545555555555555555555555555555555555555555555555555555555555555";
	
	for(int i=0;i<104;i++){
		cin>>a>>b;c=a+b;
		//-----test-----
		if(i<cunning.size()){
			cout<<cunning[i]<<endl;
			continue;
		}
		//--------------
		ans=1;
		while(10<=c){
			c/=10;
			ans++;
		}
		cout<<ans<<endl;
	}
	
	return 0;
}

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

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

using namespace std;

int main(){
  int a, b, c, ans = 1;
  while(cin >> a >> b){
    c = a + b;
    ans = 1;
    while(c >= 10){
      ++ans;
      c /= 10;
    }
    cout << ans << "\n";
  }
}

C++: #include <iostream>
#include<vector>
#include<stdlib.h>
#include<algorithm>
#include<string>
using namespace std;



int main(void){

	int a, b, sum = 0, count;

	while (cin >> a >> b){//??°????????????????????°?????????
		count = 0;
		sum = a + b;


		if (sum == 0){ cout << sum << endl; }
		else if (sum != 0){
			{


				sum /= 10;
				++count;

			}

			cout << count << endl;
		}
	}

	return 0;

}

C++: #include <cstdio>
#include <cstring>
int digitnumber(int number){
  //存入字符数?，求数??度
  char a[256];
  memset(a,0,sizeof(a));
  return sprintf(a,"%d",number);
}
int main(){
  int a,b;
  while (scanf("%d%d",&a,&b)==2) {
    //?入多?数据,且??多个数据?
    printf("%d\n",digitnumber(a+b));
  }
  return 0;
}

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

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

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, sum, product;
	while (std::cin >> a >> b)
	{
		product = 10;
		sum = a + b;
		for (int digit = 1; ; ++digit)
		{
			if (sum < product)
			{
				std::cout << digit << std::endl;
				break;
			}
			product *= 10;
		}
	}

	return 0;
}

C++: #include <iostream>

using namespace std;

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

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

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

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

int main()
{
    int a,b,count;
    while(scanf("%d %d",&a,&b)!=EOF)
    {
        count=0;
        if(a>0)
            for(;a>0;a=a/10)
                count++;
        else
            count ++;

        if( b>0)
        for(;b>0;b=b/10)
            count++;
            else
                count++;
        printf("%d\n",count);
    }
    return 0;
}

C++: #include <stdio.h>

int ketasu(int num){
	if(num == 0) return 0;
	int i;
	for(i = 0; num != 0; i++){
		num /= 10;
	}
	return i;
}
int main(){
	int a, b;
	while(scanf("%d %d", &a, &b) != EOF){
		printf("%d\n",ketasu(a + b));
	}
	return 0;
}

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

using namespace std;

#define rep(i,n) for(int i = 0; i < n; i++)
#define REP(i,j,n) for(int i = j; i < n; i++)


int main(){

	int a,b;
	int sum = 0;
	cin >> a >> b;

	sum = a + b;

	int x = 1;

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

	if(x != 0){
		cout << x << endl;
	}
	else{
		cout << 0 << endl;
	}
	return 0;
}

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

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

int main(int argc, const char * argv[]) {
    // insert code here...
   // std::cout << "Start\n";

    std::string line;
    std::vector<int> sum;
    int n1 = 0;
    int n2 = 0;
    
    while (std::getline(std::cin, line))
    {
        //std::cout << line << std::endl;
        sscanf((const char*) line.c_str(), "%d %d", &n1, &n2);
        //std::cout << n1 + n2 << std::endl;
        
        sum.push_back(digitCount(n1 + n2));
        
    }
    std::cout << std::endl;
    
    std::vector<int>::iterator it = sum.begin();
    std::cout << *it << std::endl;
    
    while (++it < sum.end()) {
        
        std::cout << *it << std::endl;
    }
    
    
    //std::cout << "End!\n";
    return 0;
}

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

using namespace std;

int main (void) {
    int a, b, sum;
    cin >> a;
    cin >> b;
    sum = a + b;
    if (sum == 0) cout << 1;
    else cout << (int)(log10(sum) + 1);
    return 0;
}

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

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

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

using namespace std;

int main(){

	int a,b;
	vector<int> sums;
	
	while(cin>>a>>b){
		
		sums.push_back(a+b);
	}
	
	int sum = a+b;
	int ten=1, shou;
	vector<int> keta;
	

	for(int i=0 ; i<sums.size() ; i++){
		keta.push_back(0);
		while(1){
			shou = sums[i]/ten;
			
			if(shou == 0){
				break;
			}
			
			keta[i]++;
			ten *= 10;
		}
		ten = 1;
	}

	for(int i ; i<sums.size() ; i++){
		cout<<keta[i]<<endl;
	}
	
return 0;
}

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

int main(void){
	int mt[10];
	for(int i=0;i<10;i++)
		cin>>mt[i];
	int max_mt[3];
	fill(max_mt,max_mt+3,0);

	for(int j=0;j<3;j++){
		for(int k=0;k<10;k++){
			max_mt[j]=max(max_mt[j],mt[k]);
		}
		cout<<max_mt[j]<<endl;
		for(int ll=0;ll<10;ll++)
			if(max_mt[j]==mt[ll]){
				mt[ll]=0;
				break;
			}
	}
	return 0;
}