#include <stdio.h>

int keta();
int kuriagari();
int maxKeta();

int main(void)
{	//statusªEOFðÔµ½çAüÍI¹(ctrl+z)
	int a,b,status,digit,temp;
	do{
		status=scanf("%d%d",&a,&b);
		;temp=keta(a,b);
		;digit=temp+kuriagari(a,b,temp);
		if (status!=EOF){
			printf("%d\n",keta(a+b));
		}
	}while(status!=EOF);
	return 0;
}

int keta(int a){
	int i=1,b=10;
	while (a/10>0 || b/10>0){
		a/=10;
		b/=10;
		i++;
	}
	return i;
}

int kuriagari(int a,int b,int i){
	int aAmari,bAmari,hoge;
	//maxKeta(a,&aAmari,i);
	//maxKeta(b,&bAmari,i);
	//printf ("%dÚF%dÆ%d\n",i,a,b);
	//printf ("	AÌ ÜèF%d  BÌ ÜèF%d\n",aAmari,bAmari);
	if (i==0){
		return 0;
	}else{
		//printf("%d+%dÈÌÅ%dðÔµÜ·B\n",maxKeta(a,&aAmari,i),maxKeta(b,&bAmari,i),hoge=(maxKeta(a,&aAmari,i)+maxKeta(b,&bAmari,i)+ kuriagari(a-aAmari,b-bAmari,i-1))/10);
		return (maxKeta(a,&aAmari,i)+maxKeta(b,&bAmari,i)+ kuriagari(a-aAmari,b-bAmari,i-1))/10;
	}
}
	
int maxKeta(int a,int *aAmari,int i){
	int maxKetaA=a;
	*aAmari=1;
	for(;i>1;i--){
		//printf("%d|",*aAmari);
		maxKetaA/=10;
		*aAmari*=10;
	}
	*aAmari*=maxKetaA;
	return maxKetaA;
}
	