Go: // 九九を出すだけ
package main
import (
	"fmt"
	"os"
	"bufio"
	"strconv"
)

var sc = bufio.NewScanner(os.Stdin)
var out = bufio.NewWriter(os.Stdout)

func main(){
	sc.Split(bufio.ScanWords)
	defer out.Flush()
	for sc.Scan(){
	    s := nextIntIs()
	    sc.Scan()
	    t := nextIntIs()
        a := len(strconv.Itoa(s+t))
	    fmt.Fprintln(out, a)
	}
}

func next() string{
	sc.Scan()
	return sc.Text()
}

func nextInt() int{
	a, _ := strconv.Atoi(next())
	return a
}

func nextIntIs() int{
	a, _ := strconv.Atoi(sc.Text())
	return a
}

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

int main(){
	int a[200], b[200], damy, i, k;

	for(i = 0; i < 200; i++){
		cin >> a[i] >> b[i];
	}

	for(i = 0; i < 200; i++){
		damy = a[i] + b[i];
		for(k = 0; damy != 0; k++){
			damy /= 10;
		}
		cout << k <<endl;
	}

	return 0;
}

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


int judge(int n){
	if (n / 1000000 != 0) return 7;
	if (n / 100000 != 0) return 6;
	if (n / 10000 != 0) return 5;
	if (n / 1000 != 0) return 4;
	if (n / 100 != 0) return 3;
	if (n / 10 != 0) return 2;
	if (n / 1 != 0) return 1;
}


int main(){
	int a, b;
	int n , i , j;
	int x[200];
	j = 0;
	while (cin >> a >> b)
	{
		n = a + b;
		x[j] = judge(n);
		j++;
		cout << "#" << endl;
	}
	for (int i = 0; i < j; i++){
		cout << x[i] << endl;
	}

	return 0;
}

C++: #include<iostream>

 
using namespace std;
 
int main()
{
     unsigned int a,b,c,ans=0;//initializing numbers
    while(cin >> b >>c )//entering 2 numbers
    {
    a=b+c;//adding the 2 numbers
    while(a!=0)
	{ 
		a/=10; ans++;//dividing sum by 10 then adding ans by 1 for number of digits
    }
        cout << ans << endl;//print out how many digits
        
     }

   return 0;
}

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

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

return 0;
}

C++: #include <iostream>

int main(){
    int a,b;
    for(int g=0;g<200;g++){
    std::cin>>a>>b;
    if(a>=0&&b<=1000000){
    int e=a+b;
    int d=1;
    int f;
    
    for(int c=1;c<8;c++){
    	if(e/d>=1){
    		f=c;
		}
    	d=d*10;
	}
	std::cout<<f<<std::endl;
          

	
}
}
return 0;
}

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

int c = 0;

void keta(int C) {
	if (C > 9) {
		c++;
		keta(C/10);
	}
	return;
}

int main()
{
	while (1) {
		if (cin.eof())
			break;
		c = 0;
		int A, B,C;
		cin >> A>> B;
		C = A + B;
		keta(C);
		c++;
		cout << c<<endl;
	}
    return 0;
}

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

int dig(int total);
int dig(int total)
{  if(total<10)
       return 1;
    else
        return (1 + dig(total/10));
    
}

int main () 
{ 
int a=0;
int b=0;

do{
cin>>a;
cin>>b;

    }while(a<0 || a>1000000 || b<0 || b>1000000);

    int total = a+b;

return 0; 
}

C++: #include <iostream>
using namespace std;
int main(void){
    // Here your code !
    int a;
    int b;
    int num;
    
    cin>>a;
    cin>>b;
    cout<<a; cout<<" "; cout<<b<<endl;
      while(a<=0 && b<=0){
        a=a/10;b=b/10;
       a++;b++;
       cout<<num<<a+b;
    }
    
    



}

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

using namespace std;

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

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);
                uint16_t a,b;
                s>>a>>b;
                uint16_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>
using namespace std;
int main(){
    int a,b,sum=0,count;
    while(cin>>a>>b){
        count++;
        sum=a+b;
        if(sum<10)cout<<"1"<<endl;
        else if(sum<100)cout<<"2"<<endl;
        else if(sum<1000)cout<<"3"<<endl;
        else if(sum<10000)cout<<"4"<<endl;
        else if(sum<100000)cout<<"5"<<endl;
        else if(sum<1000000)cout<<"6"<<endl;
        else if(sum<10000000)cout<<"7"<<endl;
        else if(sum<100000000)cout<<"8"<<endl;
        
        if(count==200)break;
        
    }
    return 0;
}

C++: #include<iostream>

using namespace std;

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

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

int main(){

	int i=0,n;
	int a[10000];


	while(cin >> n){
		a[i]=n;
		i++;
	}
	sort(a, a + i, greater<int>());
	for(i=0;i<3;i++)
		cout << a[i] << endl;

    return 0;
}

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

using namespace std;

int main() {
    int a, b;
    while(cin >> a >> b) {
        int c = a+b;
        ostringstream os;
        os << c;
        cout << os.str().length() << endl;
    }
    return 0;
}

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

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

using namespace std;

int main()
{
	int a[2];
	int a_keta,b_keta;

	while(1)
	{
		if(scanf("%d %d", &a[0],&a[1])==EOF)break;
		a_keta=(int)log10(a[0]+a[1])+1;

		cout<<a_keta<<"\n";				 
	}
	return 0;
}

C++: //
// Created by tac on 2016/10/27.
//

#include <cstdlib>
#include <iostream>
#include <cmath>

namespace {
int digit(long n) {
    return static_cast<int>(std::floor(std::log10(n)) + 1);
}
}

int main() {
    long a, b;
    while (std::cin >> a >> b) {
        std::cout << digit(a + b) << std::endl;
    }
    return EXIT_SUCCESS;
}

C++: #include<stdio.h>

int main()
{
    long long int n,x,y,a,b;
    while((scanf("%lld%lld",&a,&b))!=EOF)
    {
        long long int ca=0,cb=0;
        while(a!=0)
        {
            x=a/10;
            y=a%10;
            if(y!=0)
                ca++;
            a=x;
        }
        while(b!=0)
        {
            x=b/10;
            y=b%10;
            if(y!=0)
                cb++;
            b=x;
        }
        printf("%lld\n",ca+cb);
    }
    return 0;
}

C++: #include <iostream>
#include <string>
#include <algorithm>
#include <stack>
#include <queue>
#include <set>

using namespace std;

int main(){
	int a;
	int b;
	

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

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

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

#define world main
#define fate cin
#define reinforce cout
#define moratorium return
#define zero 0
#define nostalgia endl
#define eternal while
#define de >>
#define the <<
#define key )
#define night (
#define destiny 1
#define lost =
#define as +
#define secret 10
#define get ()
#define down {
#define death }
#define have /=
#define done ;
typedef int dark;


dark world get down
	dark vais, leon done
	eternal night fate de vais de leon key down
		dark god lost destiny done
		dark ex lost vais as leon done
		eternal night ex have secret key god++ done
		reinforce the god the nostalgia done
	death
	moratorium zero done
death