//#include <stdio.h>
//#include <string.h>
//int main(){
//	char a[100],b[100];
//	int c[100],d[100];
//	int ans[101];
//	int n;
//	scanf("%d",&n);
//	int i,j;
//	for(j=0;j<n;j++){
//		scanf("%s",&a);
//		scanf("%s",&b);
//		int e,f;
//		e = strlen(a);
//		f = strlen(b);
//		if(e==1 || f==1){
//			for(i=0;i<e;i++){
//				c[i]=a[i]-'0';
//			}
//			for(i=0;i<f;i++){
//				d[i]=b[i]-'0';
//			}
//			printf("%d\n",c+d);
//		if(e>=81 || f>=81){
//			printf("overflow\n");
//			continue;
//		}
//		for(i=0;i<e;i++){
//			c[i]=a[i]-'0';
//		}
//		for(i=0;i<f;i++){
//			d[i]=b[i]-'0';
//		}
//		if(e<f){
//			for(i=e-1;i>=0;i--){
//				int q=c[i]+d[i+f-e];
//				ans[i-e+f+1]=q%10;
//				q = q/10;
//				d[i+f-e-1]+=q;
//			}
//			for(i=f-e-1;i>=0;i--){
//				int q=d[i];
//				ans[i+1]=q%10;
//				q = q/10;
//				if(i != 0){
//					d[i-1] += q;
//				}else{
//					ans[1] += q*10;
//				}
//			}
//			if(ans[1]>=10){
//				ans[0]=ans[1]/10;
//				ans[1]=ans[1]/10;
//				if(f>79){
//					printf("overflow\n");
//					continue;
//				}
//				for(i=0;i<=f;i++){
//					printf("%d",ans[i]);
//				}
//				printf("\n");
//				continue;
//			}
//			if(f>80){
//				printf("ovewflow\n");
//				continue;
//			}
//			for(i=1;i<=f;i++){
//				printf("%d",ans[i]);
//			}
//			printf("\n");
//			continue;
//		}
//		else if(f<e){
//			for(i=f-1;i>=0;i--){
//				int q=c[i+e-f]+d[i];
//				ans[i+1+e-f]=q%10;
//				q = q/10;
//				c[i-f+e-1]+=q;
//			}
//			for(i=e-f-1;i>=0;i--){
//				int q=c[i];
//				ans[i+1]=q%10;
//				q = q/10;
//				if(i != 0){
//					c[i-1] += q;
//				}else{
//					ans[1]+=q%10;
//				}
//			}
//			if(ans[1]>=10){
//				ans[1]=ans[1]%10;
//				ans[0]=ans[1]/10;
//				if(e>79){
//					printf("overflow\n");
//					continue;
//				}
//				for(i=0;i<=e;i++){
//					printf("%d",ans[i]);
//				}
//				printf("\n");
//				continue;
//			}
//			if(e>80){
//				printf("ovewflow\n");
//				continue;
//			}
//			for(i=1;i<=e;i++){
//				printf("%d",ans[i]);
//			}
//			printf("\n");
//			continue;
//		}
//		else{
//			for(i=f-1;i>=0;i--){
//				int q=c[i]+d[i];
//				if(i != 0){
//				ans[i+1]=q%10;
//				q = q/10;
//				c[i-1]+=q;
//				}else if(q<10){
//					ans[1]=q%10;
//				}else{
//					ans[1]=q%10;
//					ans[0]=q/10;
//				}
//			}
//			if(ans[0] != 0){
//				if(e<=79){
//					for(i=0;i<=e;i++){
//					printf("%d",ans[i]);
//					}}else{
//				    printf("overflow\n");
//				}
//				printf("\n");
//				continue;
//				}else{
//					if(e<=80){
//				for(i=1;i<=e;i++){
//					printf("%d",ans[i]);
//				}
//				}else{
//					printf("overflow\n");
//					}
//				printf("\n");
//				continue;
//			}
//		}
//		return 0;
//		}
//		}
#include<stdio.h>
#define N 100
#define M 1000
int main(void){
	int i,n,j,jj,flag;
	char x[N][M],y[N][M];
	int xdigi,ydigi,ldigi;
	char sum[M];
	scanf("%d",&n);
	for(i=0;i<n;i++)
		scanf("%s%s",x[i],y[i]);
	for(i=0;i<n;i++){
		for(j=0;;j++)
			if(x[i][j]==0){
				xdigi=j;
				break; 
			} 
			for(j=0;;j++) 
				if(y[i][j]==0){
					ydigi=j;
					break;
				}
				if(xdigi>=ydigi)
					ldigi=xdigi; 
				else    
					ldigi=ydigi; 
				if(ldigi>80){    
					printf("overflow\n"); 
				}else{ 
					for(j=0;j<ldigi+2;j++) 
						sum[j]=0;  
					for(j=xdigi-1,jj=0;j>=0;j--,jj++)     
						sum[jj]+=x[i][j]-'0';   
					for(j=ydigi-1,jj=0;j>=0;j--,jj++)   
						sum[jj]+=y[i][j]-'0';       for(j=0;j<ldigi;j++)    
						if(sum[j]>9){         
							if(j==ldigi-1)        
								ldigi++;     
							sum[j]-=10;   
							sum[j+1]++;  
						}     
						if(ldigi>80){
							printf("overflow\n"); 
						}else{  
							for(j=ldigi-1;j>=0;j--){ 
								printf("%c",sum[j]+'0');
							}  
							printf("\n"); 
						}   
				} 
	} 
	return 0;
}

Measured memory_bytes: 620