Go: package main

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

var sc = bufio.NewScanner(os.Stdin)

func Sliceconvtoi() []int {
	strs := strings.Split(sc.Text(), " ")

	var ints []int
	var x int

	for _, s := range strs {
		x, _ = strconv.Atoi(s)
		ints = append(ints, x)
	}

	return ints
}

func main() {
	for sc.Scan() {
		i := Sliceconvtoi()
		fmt.Println(int(math.Log10(float64(i[0]+i[1]))) + 1)
	}

}

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

using namespace std;

int digitsofnum(int n) {
	int j = 0;
	while (n > 0) {
		n = n / 10;
		j++;
	}
	return j;
}

int main()
{
	int a, b;
	vector<int> dst;
	while (cin >> a >> b)
		dst.push_back(digitsofnum(a + b));
	for (vector<int>::iterator it = dst.begin(); it < dst.end(); it++)
		cout << *it << endl;
	return 0;
}

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

#define rep(x,to) for(x=0;x<to;x++)
#define rep2(x,from,to) for(x=from;x<to;x++)

using namespace std;


int main(void){

int a, b, c;

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

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

int a;
int b;
c = dainyuu()

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

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

C++: #include<bits/stdc++.h>
using namespace std;
int main()
{
	    int a,b;
	    while(cin>>a>>b)
	    {
		cin>>a>>b;
		int c =7;
		for (int d =1000000;d>=0;d=d/10)
		{
			if((a+b)/d>=1)
		   {
			   cout<<c<<endl;
			   break;
		}
			else c=c-1;
			}
	}
}

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

#define rep(i, j) for(int i = 0; i < j; i++)
#define all(i) i.begin(), i.end()
#define ll long long

using namespace std;

string Num2Str(int num)
{
	stringstream ss;
	ss << num;
	return ss.str();
}

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

	int a, b;
	string s;
	// code
	while (cin >> a >> b)
	{
		s = Num2Str(a + b);
		cout << s.size() << endl;
	}

	return 0;
}

C++: #include <iostream>
#include <stdio.h>
#include <math.h>
using namespace std;
int main(void)
{
	int a, b;
	int ans[200],cou = 0;
	while (cin >> a >>b) {
		for (int i = 1, j = 1; i <= 7; i++, j *= 10) {
			if ((a + b) / j <= 0) {
				ans[cou] = i;
				cou++;
				break;
			}
		}
	}
}

C++: #include <iostream>
using namespace std;
int main(void){
    // Here your code !
    int a,b;
    int num;
    cout<<"enter the first number:"<<endl;cin>>a;
    cout<<"enter the second number:"<<endl;cin>>b;
    scanf("%d %d", &a, &b);
    while(a!=0 && b!=0){
       // num+= a%10;
        //num = a/10;
        //num+= b%10;
        //num = b/10;
        num = a+b;
    }
     printf("\nSum of digits = %d", num);
    
}

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

int main() {
    int a, b;
    int cnt;
    while (cin >> a >> b) {
        cnt=0;
        a+=b;
        while (a>0) {
            a/=10;
            cnt++;
        }
        printf("%d\n",cnt);
    }
    return 0;
}

C++: #include <iostream>

int main(){
  int a, b, c;
  int i = 10;
  int num = 1;
  
  std::cin >> a;
  if(a==EOF) return 0;
  
  std::cin >> b;
  
  c = a + b;
  while(1){
    if(c/i!=0){
      num++;
      i *= 10;
    }else{
      break;
    }
  }
  std::cout << num << std::endl;
  
}

C++: #include <iostream>
#include <vector>
#include <algorithm>
#include <functional>

using namespace std;

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

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

int main(){

	array<int, 6> t{ {10, 100, 1000, 10000, 100000, 1000000} };

	for (int i = 0; i < 200; ++i) {
		 if (!cin) {
			 break;
		 }
		 int a, b, sum;
		 cin >> a >> b;
		 
		 sum = a + b;
		 auto result = find_if(t.begin(), t.end(), [sum](const int x){return sum < x; });
		 auto output = result - t.begin() + 1;
		 cout << output << endl;
	}


	return 0;
}

C++: #include<stdio.h>

int main(){

	int a, b, sum=0, x;
	scanf("%d, %d", a, b);
	sum = a+b;

	if(sum<10) x=1;
	else if(10<=sum && sum<100) x=2;
	else if(100<=sum && sum<1000) x=3;
	else if(1000<=sum && sum<10000) x=4;
	else if(10000<=sum && sum<100000) x=5;
	else if(100000<=sum && sum<1000000) x=6;

	printf("%d",x);

	return 0;
}

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

int main()
{
	int a,b,c,count = 0;
	char dummy[10];
	
	cin >> a >> b;
	c  = a + b;
	
	count = sprintf(dummy,"%d",c);
	
	cout << count;
	
	return 0;
}

C++: # include <iostream>
using namespace std;
int main(){
	int a, b;
	int sum=0;
	int n = 0;
	cout << "Enter two numbers:  ";
	cin >> a >> b;
	sum = a + b;
	while (sum>=1)
	{
		++n;
		sum /= 10;
	}
	cout << n << endl;
	return 0;
	/*Javad SHeybani*/
}

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

int counter(int x)
{
	int count=0;
	while(x)
	{
		x/=10;
		count++;
	}
	return count;
}


int main()
{
	int a,b,x;
	while(cin>>a>>b)
	{
		x=a+b;
		cout<<counter(x)<<endl;
	}
	return 0;
}

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

C++: /*
AOJ_0002_DigitNumber

EOFはWindowsはCtrl+Z,UNIXはCtrl+D

*/

#include <iostream>
#include <string>
#include <cstdio>
#include <math.h>

using namespace std;

int main() {
	int a, b;

	//while (scanf("%d %d", &a, &b) != EOF){
	while (cin >> a >> b){
		cout << (int)log10(a + b) + 1 << endl;
	}
	return 0;
}

C++: #include<iostream>

using namespace std;

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

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

C++: #include <iostream>

using namespace std;

int main() {
	int a[500], b[500],sum[500],d[500],k[500];
	int i = 0;
	k[500] = 0;
	while (1) {
		cin >> a[i] >> b[i];
		if (a[i] == 0 && b[i] == 0)break;
		sum[i] = a[i] + b[i];
		while (!sum[i]) {
			sum[i] /= 10;
			k[i]++;
		}
		i++;
	}
	for (int j = 0; j <= i;j++) {
		cout << k[j] << endl;
	}
	return 0;
}

C++: #define debug(x) cout<<#x<<": "<<x<<endl
#define rep(a, b) for(int unsafe_cnt=a; unsafe_cnt < b;unsafe_cnt++)
#include <iostream>
// #include <stdio.h>
// #include <vector>
// #include <math.h>
// #include <algorithm>
// #include <string>
// #include <map>
// #include <set>
using namespace std;

void newline() {cout << endl;}
template <typename T> void display(T input){cout << input;}
template <typename T> void put(T input){display(input); newline();}

int main() {
  int a, b;
  while(cin >> a){
      cin >> b;
      put(a + b);
  }
}

C++: #include<iostream>

using namespace std;

int main(){
	int a, b, sum, digit;

	while (cin >> a >> b) {
		sum = a + b;
		for (digit = 1; sum /= 10; digit++);
		cout << digit << endl;
	}

	return 0;
}

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

C++: #include<stdio.h>
#include<iostream>
using namespace std;
int main(){
	int a = 0, b = 0;
	int i = 0;
	while (1){
		cin >> a >> b;
		int c = 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;
}