#include<iostream>
#include<string.h>
#define rep(i,n) for(i = 0;i < n;i++)
#define MAX(a,b) (a>b?a:b)
using namespace std;

int N;
char stra[100000],strb[100000],*ans[10000];
int sum[10000][81];

int main(){
	int i,j;
	int a[80],b[80];
	cin >> N;
	rep(i,N){
		int la,lb;
		cin >> stra;
		cin >> strb;
		la = strlen(stra);
		lb = strlen(strb);
		if(la > 80 || lb > 80){
			ans[i] = "overflow";
			continue;
		}
		rep(j,80){
			a[j] = 0;b[j] = 0;
		}
		//小さい桁をインデックスの小さいほうに入れたい。
		for(j = la-1;j >= 0;j--)
			a[j] = stra[la-1-j]-48;
		for(j = lb-1;j >= 0;j--)
			b[j] = strb[lb-1-j]-48;
		//小さい桁から計算
		rep(j,MAX(la,lb)){
			sum[i][j] += a[j]+b[j];
			sum[i][j+1] += (sum[i][j])/10;
			sum[i][j] %= 10;
		}
		if(sum[i][80] > 0){
			ans[i] = "overflow";
			continue;
		}
		ans[i] = "j";
	}
	rep(i,N){
		if(*ans[i] == 'o'){
			cout << ans[i] << endl;
			continue;
		}
		for(j = 79;sum[i][j] == 0 && j>0;j--);
		for(;j>=0;j--)
			cout << sum[i][j];
		cout << endl;
	}
	return 0;
}