Go: package main

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

var (
	sc = bufio.NewScanner(os.Stdin)
)

func main() {
	for sc.Scan() {
		chunks := strings.Split(sc.Text(), " ")
		a, _ := strconv.Atoi(chunks[0])
		b, _ := strconv.Atoi(chunks[1])
		fmt.Println(len(fmt.Sprint(a + b)))
	}
}

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

#define rep(i,n) for(int i=0;i<n;i++)
#define REP(i,b,n) for(int i=b;i<n;i++)

const float PI = 3.1415926;
static const int INFTY = (1<<30);

using namespace std;

typedef long long ll;
typedef long double ld;

ll n, a, b, res;

int main() {
  rep(i,3) {
    cin >> a >> b;
    n = a+b;
    if(n %10 == 0) n++;
    res = 0;
    
    while(n>0) {
      n /= 10;
      res++;
    }
    cout << res << endl;
  }

  return 0;
}

C++: #include <stdio.h>

int main(void){

	long a,b,c,i;

	
	while(scanf("%ld %ld",&a,&b)!=EOF){
		c = a+b;
		i = 1;
		while(c>=10){
			c=c/10;
			i++;
		}
		printf("%ld\n",i);

	}

	return 0;
}

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

C++: #include<iostream>
using namespace std;
int main()
{
int a,b;
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
{
	cout<<7<<endl;
}
return 0;
}

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

using namespace std;

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

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

int main() {
	long long int a, b, c;
	int x;
	bool flg = true;

	while (1) {
		cin>>a;
		if (a==EOF)
			break;

		c=a+b;

		x = 1;
		flg = true;
		while (flg) {
			if ((c=c/10)>0)
				x++;
			else
				flg = false;
		}
		cout<<x<<endl;
	}
	return 0;
}

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

int main(){
int sum;
string truss;
  int a,b;
  while(cin>>a>>b) {
 sum=a+b;
 truss=to_string(sum);
 cout<<truss.size()<<endl;
  }
  return 0;
}

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

int main(){
  int a,b;
  int n = 0;
  int k = 1;
  int i = 0;
  int x[200]={};
   
    
    
  while(i < 200 && cin >> a >> b){
      
      //条件に合わないデータの判定
      if(a < 0 || a > 1000000 || b < 0 || b > 1000000){
          cout << "データを入力し直してください!!" << endl;
          break;
      }
      
      else{
          i++;
          n = a+b;
          
    //桁数判定部分
    while(n/10 !=0){
        k++;
        n = n/10;
    }
          x[i-1] = k;
          k = 1;
      }
  }
    
    //表示部分
    for(int j = 0;j < i;j++)
        cout << x[j] << endl;
    
  return 0;
}

C++: #include <iostream>

using namespace std;

class digit{
private:
	int len;
public:
	int scan(int num);
};

int digit::scan(int num){
	len = 0;
	while(num != 0){
		num /= 10;
		len++;
	}
	return len;
}

int main(void){

	int a,b;
	int data[200];
	int i = 0;
	digit digit;

	while(cin>>a>>b){
		data[i] = digit.scan(a+b);
		i++;
	}

	while(i--){
		cout << data[i] << endl;
	}

	return 0;
}

C++: #include<stdio.h>
#include<iostream>
using namespace std;
int main(){
	int ab[200][2],f,i=0,a,g,k=0;
	while(cin>>f){
		scanf("%d %d",&ab[i][1],&ab[i][2]);
		i++;
	}
	for(int j=0;j<i;j++){
		a=ab[j][1]+ab[j][2];
		for(g=0;;g++){
			if(a==0&&g==0){
				printf("%d\n",a);
				break;
			}
			a=a/10;
			k++;
			if(a==0){
				printf("%d\n",k);
				break;
			}
		}
		k=0;
	}
	return 0;
}

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

using namespace std;

int main() {
	int a, b, c;
	while(scanf("%d %d", &a, &b) != EOF){
		c = (int)log10(a+b) + 1;
		printf("%d\n", c);
	}
	return 0;
}

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

C++: #include <iostream>
#include <string>
#include <vector>
#include <sstream>
using namespace std;
int main()
{

	string str;
	do
	{

		string item;
		vector<string> list;
		getline(cin, str);
		if (str == "")
		{
			break;
		}

		stringstream ss(str);
		while (getline(ss, item, ' ') && !item.empty()) {
			list.push_back(item);
		}
		int sum = stoi(list[0].c_str()) + stoi(list[1].c_str());
		int count = 0;
		for (int i = 10; i <= 1000000; i = i * 10)
		{
			count++;
			if(sum < i)
			{
				cout << count << endl;
				break;
			}


		}
	} while (str != "");
	return 0;
}

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

int check_digit(int num) {
  int digit = 0;
  while (true) {
    num /= 10;
    digit++;
    if (num <= 0) {
      break;
    }
  }
  return digit;
}

int digit_count(int a, int b) {
  int digit_a, digit_b;
  digit_a = check_digit(a);
  digit_b = check_digit(b);
  std::cout << digit_a + digit_b << '\n';
}

int main(int argc, char const *argv[]) {
  int a, b;
  while (!std::cin.eof()) {
    std::cin >> a;
    std::cin >> b;
    digit_count(a, b);
  }
}

C++: #include <iostream>

using namespace std;

int main()
{
	int ans, a, b, num;
	
	while (cin >> a >> b){
		ans = 1;
		num = a + b;

		while (num >= 10){
			num /= 10;
			ans++;
		}

		cout << ans << endl;

	}
	return (0);
}

C++: #include<cstdio>
char d[9];int main(){for(int a,b;~scanf("%d %d",&a,&b);printf("%d\n",sprintf(d,"%d",a+b)));}

C++: #include <iostream>

int main(int argc, char **argv) {
	int a, b, sum, digit;
	
	while(std::cin >> a >> b) {
		sum = a + b;
		
		digit = 0;
		while(sum != 0) {
			sum /= 10;
			digit += 1;
		}
		std::cout << digit << std::endl;
	}
}

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

int main()
{
	char a[100],b[100];
	
	while(cin >> a >> b){
		int sum=atoi(a)+atoi(b);
		int c=1;
		while((sum)/=10)c++;
		cout << c << endl;
	}
	return 0;
}

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

int main(){
	int a,b,c;
	int ans;
	
	string cunning="73";
	
	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>
using namespace std;

int main(){

	int a, b, c;

	while(cin >> a >> b)
	{
		if(a+b<10){
			c=1;
		}

		else if(a+b<100){
			c=2;
		}

		else if(a+b<1000){
			c=3;
		}

		else if(a+b<10000){
			c=4;
		}

		else if(a+b<100000){
			c=5;
		}

		else if(a+b<1000000){
			c=6;
		}

		else{
			c=7;
		}

		cout<<c<<endl;
		
	}

	return 0;
}

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

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

while( cin>>a>>b ){
	n=1;
 if(a>=0 && b>=0 && a<=1000000 && b<=1000000)
 	{
	 a = a+b;
	 while(a>=10)
	 	{
		 a = a/10;
		 n += 1;
	 	}
 	}
 	cout<<n<<endl;
 	
 	}


}

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

int main () {
	int a, b;
	cin >> a >> b;
	cout << to_string(a + b).size() << endl;
	return 0;
}

C++: #include <iostream>
using namespace std;
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <math.h>

int main()
{
   int e[300];
   int i,j,k;
   int cnt=1;
   int a,b;

   for(i=0;scanf("%d",&a);i++) {
      scanf("%d",&b);
      e[i]=a+b;
   }
   k=i;
   for(i=0;i<k;i++)
      printf("%d",e[i]);
   return 0;
}