Go: package main

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

func sliceAtoi(sa []string) ([]int, error) {
	si := make([]int, 0, len(sa))
	for _, a := range sa {
		i, err := strconv.Atoi(a)
		if err != nil {
			return si, err
		}
		si = append(si, i)
	}
	return si, nil
}

func getDigits(ary []int) (digits int) {
	sum := 0
	for _, v := range ary {
		sum += v
	}

	for sum != 0 {
		sum /= 10
		digits++
	}
	return
}

func getsTwoNumAsArray() (nums [][]int) {
	scanner := bufio.NewScanner(os.Stdin)

	for scanner.Scan() {
		str := scanner.Text()
		if str == "" {
			break
		}

		ary, _ := sliceAtoi(strings.Split(str, " "))
		nums = append(nums, ary)
	}

	return
}

func main() {
	ary := getsTwoNumAsArray()

	for _, v := range ary {
		fmt.Println(getDigits(v))
	}
}

C++: #include<iostream>
int main(){
	int d=100;
	while(d>0){
		int a,b;
		std::cin>>a>>b;
		int n=a+b;
		if(n<10)std::cout<<1<<std::endl;
		if(n>=10&&n<100)std::cout<<2<<std::endl;
		if(n>=100&&n<1000)std::cout<<3<<std::endl;
		if(n>=1000&&n<10000)std::cout<<4<<std::endl;
		if(n>=10000&&n<100000)std::cout<<5<<std::endl;
		if(n>=100000&&n<1000000)std::cout<<6<<std::endl;
		if(n>=1000000&&n<10000000)std::cout<<7<<std::endl;
		d--;
	}
	return 0;
}

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

int count(int x ) {
	if (0 == x) return 1;
	int re = 0;
	while (x > 0) {
		++re;
		x /= 10;
	}
	return re;
}

int main() {
	int a, b;
	while (2 == scanf("%d%d", &a, &b)) {
		printf("%d\n", count(a + b));
	}
	return 0;
}

C++: #include <algorithm>
#include <map>
#include <vector>
#include <iostream>
#include <sstream>
#include <cstdio>
#include <cstring>
#include <cctype>
#include <cstdlib>
#include <cmath>
#include <string>
#include <queue>
using namespace std;

#define REP(i,n) for(int i=0; i<n; ++i)
#define IREP(it,array) for(vector<int>::iterator it=array.begin(); it!=array.end(); ++it)
#define SREP(it,array) for(vector<string>::iterator it=array.begin(); it!=array.end(); ++it)
#define MP make_pair


int main()
{
  cout.setf(ios::fixed, ios::floatfield);
  cout.precision(10);

  int INF = 1000000;

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

  return 0;
}

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

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

int main()
{
    int a;
    int b;
    int sum;
    int digit;
    for (int i = 0; i < 200; i++) {
        std::cin >> a >> b;
        if (a == 0 && b == 0) {
            break;
        } else {
            sum = a + b;
            digit = 0;
            while (sum != 0) {
                sum = sum / 10;
                digit++;
            }
            std::cout << digit << std::endl;
        }
    }
    return 0;
}

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

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

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

int a;
int b;

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

int dainyuu() {
  cin >> a >> b;
}

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

using namespace std;

int main()
{
	int a[200], b[200], n, ans=0;
	for (int i = 0; i < 200; i++) 
	{
		cin >> a[i] >> b[i];
		n = a[i] + b[i];
		while (n >= 1) 
		{
			n /= 10;

			ans++;
		}
		cout << ans << endl;
		ans = 0;
	}
}

C++: #include<stdio.h>
int main()
{
int x,cou;
cou=0;
scanf("%d",&x);
while(1)
{
if(x/10==0){cou++;break;}
else {x=x/10; cou++;}
}
printf("%d\n",cou);
return 0;
}

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

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

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="72";
	
	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<stdio.h>

int main(void)
{
	int j[200],k[200];
	int i=0,l=0,kai[200]={0},x;
	do
	{
	   scanf("%d %d",&j[l],&k[l]);
	   if(j[l]==0)break;
	   l=l+1;
	
	}while(i !=1);
   for(i=0;i<l;i++)
   {
	   x=j[i]+k[i];

       while(x!=0)
		   {
			   x=x/10;
			   kai[i]=kai[i]+1;
	       }
   }
	for(i=0;i<l;i++)
	{
		printf("%d\n",kai[i]);
    }
  return 0;
}

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

int main() {
  int x, y;
  while( (x = cin.get()) != -1) {
    cin >> x;
    if(x == -1) {
      break;
    }
    cin >> y;
    cout << x + y << endl;
  }
}

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

int main(){
		int a, b, sum, result=0;
	scanf("%d %d",&a,&b);
	sum = a + b;
	while (sum > 0){
		sum /= 10;
		result++;
	}
	cout << result;
    return 0;
}

C++: #include <iostream>

using namespace std;

int main(void){
	for(int a, b, count = 1; cin >> a >> b; cout << count << endl, count = 1){
		int sum = a + b;

		for(int i = 10; sum / i; i *= 10) count ++;
	}

	return 0;
}

C++: //
//  main.cpp
//  b
//
//  Created by h3037178 on 2017/07/31.
//  Copyright ?? 2017??´ ?????£?????????. All rights reserved.
//

#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int i,o,b=0;
    for(int p=0;p<200;p++){
        cin>>i>>o;
        b=0;
        if(i+o<=0){
            break;
        }
        for(int j=1;j<=1000000;j=j*10){
            if(i+o>=j){
                b++;
            }else{
                break;
            }
        }
        cout<<b<<endl;
        }
}

C++: #include <stdio.h>

int main() {
    int a;
    int b;
    while (scanf("%d %d", &a, &b) != EOF) {
        int result = a + b;
        int digit = 0;
        while (result != 0) {
        digit++;
        result /= 10;
    }

    printf("%d\n", digit);
    }
}

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

int main(){
  int a, b, c;
  int keta;

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

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

int main() {
    int a, b;

    while (cin >> a >> b) {
        int sum = a + b;
        string s = to_string(sum);
        cout << s.length() << endl;
    }

    return 0;
}

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

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

C++: #include<cstdio>

int main(){
	int nums[2];
	for(int i=0; i<2; ++i){
		scanf("%d", &nums[i]);
	}

	printf("%d\n", nums[0]+nums[1]);

	return 0;
}

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

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

int main(){
int a,b;

while(scanf(" %d %d",&a,&b){
int cnt=1;
for(int i=1;i<8;i++){
if(a+b-i*10<0)break;
cnt++;
}

cout << ont << endl;

return 0;
}

C++: #include <stdio.h>
#include <math.h>
#include <string.h>
int main(){
  int i,j,k,l;
  while(scanf("%d %d",&i,&j)!=EOF){
    k=i+j;
    for(l=1;l<7;l++){
      if(k<pow(10,i)){
        printf("%d\n",l);
        break;
      }
    }
  }
}