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<iostream>
#include<sstream>
#include<string>
#include<vector>
using namespace std;

int main() {

	vector<int> ans;
	int a, b;
	//int cnt = 0;

	while (1) {
		cin >> a >> b;
		if (cin.eof()) { break; }
		ans.push_back(a + b);
	}

	for (int i = 0; i < ans.size(); i++)
	{
		string str = to_string(ans[i]);
		cout << str.size() << endl;
	}

	return 0;
}

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

using namespace std;

int main(){
	int a,b;
while (cin>>a>>b){
	int n=a+b;
	if(n==1000000){
		cout<<7<<endl;
	}
	else if (n>99999){	
	cout<<6<<endl;
}
	else if(n>9999){
		cout<<5<<endl;
	}
		else if(n>999){
		cout<<4<<endl;
	}
		else if(n>99){
		cout<<3<<endl;
		}
		else if(n>9){
		cout<<2<<endl;
	}
	else{ 
	cout<<1<<endl;
	}
	}
}

C++: #include<iostream>

using namespace std;

int main()
{
	size_t ix = 0;
	int a[100],b[100];

	while(cin >> a[ix]){
		if(a[ix]<0 || a[ix]>1000000)
			break;
		if(!(cin >> b[ix]))
			break;
		if(b[ix]>0 || b[ix]>1000000)
			break;
		++ix;
	}

	for(size_t count = 0;count != ix;++count){
		int dight,temp = a[count]+b[count];
		for(a[count]+b[count]>1?1:0,dight = 0;;)
			if(temp/=10)
				++dight;
			else
				break;
		cout <<dight<<endl;
	}

	return 0;
}

C++: #include<iostream>
#include<cstdio>
using namespace std;
int main()
{
    int a,b,n,i,count;
    while(2==scanf("%d %d", &a, &b))
    {
        n = a+b;
        count=0;
        while(n!=0)
        {
            i = n%10;
            n/=10;
            count++;
        }
        cout<<count<<endl;
    }
    return 0;
}

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

int main()
{
	unsigned a,b;
	while(cin>>a>>b)
	{
		int n = a+b;
		int i=0;
		for(; 0<n; ++i)
		{
			n/=10;
		}
		cout << i << '\n';
	}
}

C++: #include<iostream>
using namespace std;
int main(){
	int a=0,b=0;
	//for(;;){
		while(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 if(a+b<10000000)cout<<"7"<<endl;
		else if(a+b<100000000)cout<<"8"<<endl;
		else if(a+b<1000000000)cout<<"9"<<endl;
	}
}

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

int main(void){
	while(true){
		long int a, b, d=0, s; //d:digit s:sum
		cin >> a >> b;
		s = a + b;
		while(s>=1){
			s = s/10;
			d++;
		}
		cout << d << endl;
		if(cin.eof()) break;
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

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

C++: #include <bits/stdc++.h>
#include <vector>
using namespace std;
int a, b, x, hasil;
int main(){
	while(cin >> a >> b){
		hasil = 0;
		x = a + b;
		while(x >= 1){
			hasil++;
			x = x / 10;
		}
		cout << hasil << "\n";
	}
	return 0;
}

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

int main() {

  long long int a,b;

  while ( cin >> a >> b ) {

    long long int k = a+b;

    for ( int i = 1; true; i++ ) {
      if ( k < 10 ) {
	cout << i << endl;
	break;
      }
      k /= 10;
    }

  }

  return 0;

}

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

int main() {
    std::string moji;
    int a, b;
    
    while (1) {
        std::cin >> a >> b;
        moji = std::to_string(a+b);
        if (std::cin.eof()) break;
        std::cout << moji.size() << std::endl;
    }
    
    return 0;
}

C++: #include <stdio.h>

int main(){

	int a=0,b=0,i=0;

	while (i<200 != EOF){
		scanf("%d%d", &a, &b);
		if (a + b < 10){
			printf("1\n");
		}else if(a+b<100){
			printf("2\n");
		}else if (a + b < 1000){
			printf("3\n");
		}else if (a + b < 10000){
			printf("4\n");
		}else if (a + b < 100000){
			printf("5\n"); }
		else{
			printf("6\n");
		}i++;
	}
	return 0;
}

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

int main() {
	// your code goes here
	int a,b;
	while(cin >> a >> b){
		char s[100];
		sprintf(s,"%d",a+b);
		cout << strlen(s) << endl;
	}
	return 0;
}

C++: #include <stdio.h>

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



 return 0;
}

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

int main() {
  int a, b;

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

C++: #include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main(void){
	int n , i , j , k ;
	for( i=1 ; i<=3 ; i++ ){
		cin >> j >> k ;
		int x = j+k;
		stringstream str;
		str << x ;
		string st = str.str();
		cout << st.size() << endl;
	}	
}

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

C++: #include<stdio.h>

int calc(int x,int y){
  int a,t,k =0;
  t = x+y;
  while(t){
    t = t/10;
    k += 1;
  }
  return k;
}
int main(void){
  int a,b;
  while(scanf("%d %d",&a,&b) != EOF){
    printf("%d",calc(a,b));
  }
}

C++: #include<iostream>

using namespace std;

int main()
{
	int a,b,c,d=1000000,e=7;
	for(int i=1;i<=200;i++){
		cin>>a>>b;
		c=a+b;
		while(1){
			if(1<=c/d){
				cout<<e<<endl;
				break;
			}
			else if(1>c/d){
				e--;
				d=d/10;
			}
		}
		d=1000000,e=7;
	}	
	return 0;
}

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

int main() {
	int a, b, c, lop;
	while (cin >> a >> b) {
		c = 10;
		for (lop = 1; c<=a+b; lop++) {
			c *= 10;
		}
		cout << lop << endl;

	}
	return 0;
}

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="77675555555555555555555555555555555555555455";
	
	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<math.h>
using namespace std;
int main(){
double a,b;
while(cin>>a>>b){
a=a+b;
if(a<10)cout<<"1"<<endl;
else {
b=log10(a);
cout<<b<<endl;
}
}
return 0;
}

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

using namespace std;

int main()
{
	int a, b, i, c;
	
	while(cin >> a >> b){
	
	i = 0;

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

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

int main() {
    
    int a[100];
    int b[100];
    int x = 0;
    int sum;
    int flag = 0;
    int count = 0;
    
    while(cin >> a[x] >> b[x]) x++;
    
    for(int i = 0; i < x; i++) {
        
        sum = a[i] + b[i];
        
        while (!flag) {
            sum = sum / 10;
            count++;
            if(sum < 1) {
                flag = 1;
                cout << count << endl;
            }
        }
        count = 0;
        flag = 0;
    }
    return 0;
}

C++: #include<iostream>

using namespace std;

int main()
{
	int a,b,n,c=1000000,p=7;
	for(int i=1;i<=200;i++){
		cin>>a>>b;
		n=a+b;
		while(1){
			if(n>=c){
			break;
			}
			else{
			p--;
			c/=10;
			}
		}
		cout<<p<<endl;
		p=7,c=1000000;
	}
	return 0;
}