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[1000000],b[1000000],i,j,n;
    cin>>n;
    for(i=0;i<n;i++){
        cin>>a[i]>>b[i];
    }
    for(j=0;j<n;j++){
        if(a[j]+b[j]<10){
            cout<<"1"<<endl;
        }
        else if(a[j]+b[j]<100){
            cout<<"2"<<endl;
        }
        else if(a[j]+b[j]<1000){
            cout<<"3"<<endl;
        }
        else if(a[j]+b[j]<10000){
            cout<<"4"<<endl;
        }
        else if(a[j]+b[j]<100000){
            cout<<"5"<<endl;
        }
        else if(a[j]+b[j]<1000000){
            cout<<"6"<<endl;
        }
        else if(a[j]+b[j]<=1999999){
            cout<<"7"<<endl;
        }
    }
    return 0;
}

C++: #include <iostream>

using namespace std;

int main(int argc, char const *argv[]) {
	int a, b, ans;

	while ((cin >> a >> b) != 0) {
		a = a + b;
		for (ans = 0; a > 0; ans++) a /= 10;
		cout << ans << endl;
	}

	return 0;
}

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

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

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

C++: def counts(num):
	if num:counts(map(int, raw_input().split()))
	if num:countlist.append(len(str(num[0]+num[1])))

countlist = []
counts(map(int, raw_input().split()))
countlist.reverse()
for x in countlist:
	print x

C++: #include<iostream>
#include<string>
#include<string.h>
#include<algorithm>
#include<stdio.h>
#include<cmath>
#include<vector>
#include<utility>
#include<stack>
#include<queue>

#define FOR(i, a, b) for(int i=(a);i<=(b);i++)
#define RFOR(i, a, b) for(int i=(a);i>=(b);i--)
#define MOD 1000000007

using namespace std;

int main(void) {
	int a, b;
	int c;
	while(cin>>a>>b) {
		c = a + b;
		FOR(i, 1, 100) {
			c /= 10;
			if (c == 0) {
				cout << i << endl;
				break;
			}
		}
	}
	return 0;
}

C++: #include<iostream>
#include<stdio.h>
using namespace std;
int keta(int n){
  static int cnt=0;
  if(n>0){
    cnt++;
    return keta(n/10);
  }else{
    return cnt;
  }
}
int main(){
  int a,b;
  int n;
  while(scanf("%d %d",&a,&b)!=1){
    a+=b;
    n=keta(a);
    cout<<n<<endl;
  }
  return 0;
}

C++: #include <cstdio>
#include <cstdlib>
#include <cmath>
#include <climits>
#include <cfloat>
#include <map>
#include <utility>
#include <set>
#include <iostream>
#include <memory>
#include <string>
#include <vector>
#include <algorithm>
#include <functional>
#include <sstream>
#include <complex>
#include <stack>
#include <queue>
using namespace std;
static const double EPS = 1e-5;
typedef long long ll;
#define FOR(i,n) for(i=0;i<n;i++)
#define rep(i,n) for(int i=0;i<n;i++)

int main(){
	int a,b;
	for(;scanf("%d %d",&a,&b)!=EOF;){
		int i=0,k=1;
		for(;a+b>=k;i++,k*=10);
		cout<<i<<endl;
	}
	return 0;
}

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

int main() {
	int a,b;
	while(cin>>a>>b){
		int cnt=1;
		for(int i=10;;i*=10){
			if((a+b)/i>=1) cnt++;
				else break;
		}
		cout<<cnt<<endl;
	}

	return 0;
}

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

int main(){

	int a[2];
	cin >> a[0] >> a[1];
	int check=a[0]+a[1],retval=1;
	while(check>=10){
		check/=10;
		retval++;
	}
	cout << retval << endl;

    return 0;
}

C++: #include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <string>
#include <vector>
using namespace std;
const int MAX = 1000000;

int main(){
    int a, b, sum, digit;
    while(scanf("%d %d", &a, &b) != EOF){
        sum = a+b;
        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, t = 1;
   cin >> a >> b;
   c = a + b;
   while(1){
   	if(c / 10 == 0) break;
   	c /= 10;
   	t++;
   }
   cout << t << endl;
	return 0;
}

C++: #include <stdio.h>

int main(){
    
    int a, b, wa = 0;
    int ans;
    
    scanf("%d %d", &a, &b);
    wa = a + b;
    
    while( wa != 0 ){
        wa /= 10;
        ans++;
    }
    
    printf("%d\n", ans);
    
    return 0;
}

C++: #include<iostream>

using namespace std;


int main()
{
	int a, b,x;
	
	cin >> a >> b;
	int ar[7] = { 1, 2, 3, 4, 5, 6, 7 };
	while (a != -1){
		int counter = -1;
		x = a + b;
		while (x != 0){
			x /= 10;
			counter++;
		}
		cout << ar[counter] << endl;
		cin >> a >> b;
	}
	
}

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

int main(){
  int a,b;
  while(cin>>a>>b){
    int sum=a+b;
    int count=0;
    do{
      count++;
      sum*=0.1;
    }while(sum!=0);
      cout<<count<<endl;
  }
  return 0;
}

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

using namespace std;

int main() {
	long a, b;
	string sum;
	
	while (scanf("%ld %ld", &a, &b) != EOF) {
	    sum = to_string(a + b);
	    
	    printf("%d\n", sum.size());
	}
	
	return 0;
}

C++: #include<stdio.h>
int main(){
  int a,b,c;
  while(scanf("%d %d",&a,&b)!=EOF){
  	c = a + b;
  	if(c<10) printf("1\n");
  	else if(c<10^2) printf("2\n");
  	else if(c<10^3) printf("3\n");
  	else if(c<10^4) printf("4\n");
  	else if(c<10^5) printf("5\n");
  	else if(c<10^6) printf("6\n");
  	else if(c<10^7) printf("7\n");
  }
  return 0;
}

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

C++: #include <iostream>
using namespace std;
int main ()
{
    int a,b;
    while (cin >> a >> b)
    {
        int sum = a+b,count = 0;
        while (sum != 0)
        {
            count ++;
            sum /= 10;
        }
        cout << count << endl;
    }
    return 0;
}

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

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

int main()
{
	int a,b,sum;
	int count = 1;

	cin >> a >> b;
	sum = a + b;
	
	while(sum > 1){

		sum = sum / 10;
		count++;
	}

	cout << count << endl;

	cin >> a;

	return 0;
}

C++: #include <iostream>

int digits(int num);

int main()
{
    std::cin.tie(0);
    std::ios::sync_with_stdio(false);

    int a, b;
    while (std::cin >> a >> b)
        std::cout << digits(a + b) << std::endl;
}

int digits(int num)
{
    int cnt = 0;
    do {
        num /= 10;
        ++cnt;
    } while(num != 0);

    return cnt;
}

C++: #include <bits/stdc++.h>
#include <stdlib.h>
#define INF 114514810
#define FOR(i, r, n) for(int i=(r); i<(n); i++) 
#define REP(i, n) FOR(i, (0), n)
template<typename T>
void remove(std::vector<T>& vector, unsigned int index)
{
	vector.erase(vector.begin() + index);
}

using namespace std;

int n=1, a, b;

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