Go: package main

import (
  "fmt"
  "unicode/utf8"
)


func main() {
  var a int
  var b int
  for _, err := fmt.Scan(&a, &b); err == nil; _, err = fmt.Scan(&a, &b) {
    fmt.Println(utf8.RuneCountInString(fmt.Sprint(a+b)))
  }
}

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

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

int main(){
	int a, b;
	vector<int> output;
	while(cin >> a >> b){
		int sum = a + b;
		int digit = 0;
		while(sum){
			sum /= 10;
			digit++;
		}
		output.push_back(digit);
	}
	for(vector<int>::iterator itr = output.begin(); itr != output.end(); ++itr){
		cout << *itr << endl;
	}
	return 0;
}

C++: #include <iostream>
#include <cstdio>
#include <cmath>
#include <algorithm>
#include <stack>
#include <queue>
#include <cctype>
#include <cstring>
#include <string>
#include <vector>


using namespace std;

int main()
{
    int i,j,sum;
    int t,dcount=0;
    while(scanf("%d",&i) != EOF && dcount <200)
    {
        int counter=0;
        int sum=0;
        cin >> j;
        sum=i+j;

        while(sum!=0)
        {
            t=sum%10;
            sum= sum/10;
            if(t!=0)
                counter++;
        }

        sum++;
        cout << counter <<endl;
        dcount++;
    }
}

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

int main() {
	int a[3],b[3];
	int ans[3];
	for(int i=0; i<1; i++) scanf("%d %d", &a[i], &b[i]);

	int cnt;
	int keta[3] = {0,0,0};
	for(int i=0; i<1; i++) {
		cnt = a[i] + b[i];
		while(cnt >= 10) {
			cnt/=10;
			keta[i] ++;
		}
		keta[i]++;
	}

	printf("%d\n", keta[0]);

	return 0;
}