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++: //
//  main.cpp
//  sanpie
//
//  Created by h3037178 on 2017/07/28.
//  Copyright ?? 2017??´ ?????£?????????. All rights reserved.
//

#include <iostream>
#include <algorithm>
using namespace std;
int main(){
    int i,o;
    for(int p=0;p<200;p++){
        cin>>i>>o;
    }
    for(int k=0;k<200;k++){
        if(i>1000000||o>1000000){
            break;
        }
    if(i+o<10){
        cout<<"1"<<endl;
    }else if(i+o<100){
        cout<<"2"<<endl;
    }else if(i+o<1000){
        cout<<"3"<<endl;
    }else if(i+o<10000){
        cout<<"4"<<endl;
    }else if(i+o<100000){
        cout<<"5"<<endl;
    }else if(i+o<1000000){
        cout<<"6"<<endl;
    }else{
        cout<<"7"<<endl;
    }
    }
}

C++: #include <iostream>
using namespace std;
int main(){
int A,B,C,i=10,test=1,k=0;
while(k=0){
cin >> A >> B;
C = A + B;
if(C<10){
cout << 1 << endl;
}
else{
while(test!=0){
i = i * 10;
test++;
if(C<i){
cout << test << endl;
test = 0;
}
}
}
}
}

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

int main(){
  for(int a,b,c,ans=1;cin >> a;cin >> b;){
  c=a+b;
  if(c>=10){
    ans++;
  }
  if(c>=100){
    ans++;
  }
  if(c>=1000){
    ans++;
  }
  if(c>=10000){
    ans++;
  }
  if(c>=100000){
    ans++;
  }
  if(c>=1000000){
    ans++;
  }
  cout << ans;
}
  return 0;
}

C++: #include <iostream>
#include <vector>
#include <map>
#include <set>
#include <algorithm>
#include <numeric>
#include <cmath>
using namespace std;
typedef vector<int> VI;
#define REP( i, m, n ) for ( int i = (int)( m ); i < (int)( n ); ++i )

int main() {
    VI nums;
    
    int a, b;
    while (cin >> a >> b) {
        nums.push_back(a + b);
    }
    
    for (int n : nums) {
        cout << floor(log10(n)) + 1 << endl;
    }
    
    return 0;
}

C++: #include <stdio.h>

int main(void){
	int a, b;
	int cnt = 0;

	while(scanf("%d %d", &a, &b) != EOF){
		cnt = 0;
		a = a+b;
		while(a != 0){
			a = a / 10;
			cnt++;
		}
		printf("%d\n", cnt);
	}

	return 0;
}

C++: #include<bits/stdc++.h>
using namespace std;
int main(){
  int a,b,c,ans;

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

  return(0);
}

C++: #include <iostream>
#include <iomanip>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#define shosu(x) fixed<<setprecision(x)
using namespace std;
int main(){
	int x,y;
	while(cin>>x>>y){
		int sum=x+y;
		cout<<(int)log10(sum)+1<<endl;
	}
}

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;
}