#include<iostream>
#include<string>
using namespace std;

int main(){
	string sx, sy, sans;
	int n;
	getline( cin, sx );
	sscanf( sx.c_str(), "%d", &n );
	for( int i=0; i<n; i++ ){
		getline( cin, sx );
		getline( cin, sy );
		int zx=0, zy=0;
		while( zx+1<sx.length() && sx[zx]=='0' )	zx++;
		for( int j=0; j<sx.length()-zx; j++ ){
			sx[j] = sx[zx+j];
		}
		while( zy+1<sy.length() && sy[zy]=='0' )	zy++;
		for( int j=0; j<sy.length()-zy; j++ ){
			sy[j] = sy[zy+j];
		}
		if( (sx.length()-zx)>80 || (sy.length()-zy)>80 ){
			cout << "overflow" << endl;
		}else{
			int lenx = sx.length()-zx;
			int leny = sy.length()-zy;
			string &s = (lenx>leny)?sx:sy;
			string &sa = (lenx>leny)?sy:sx;
			int &len = (lenx>leny)?lenx:leny;
			int &lena = (lenx>leny)?leny:lenx;
			sans.resize( len+1 );
			for( int j=0; j<sans.length(); j++ )
				sans[j] = 0;
			for( int j=0; j<lena; j++ ){
				sans[j] += (sa[lena-1-j]-'0') + (s[len-1-j]-'0');
				if( sans[j] > 9 ){
					sans[j] -= 10;
					sans[j+1]++;
				}
			}
			for( int j=lena; j<len; j++ ){
				sans[j] += s[len-1-j]-'0';
				if( sans[j] > 9 ){
					sans[j] -= 10;
					sans[j+1]++;
				}
			}
		}
		if( sans.length()>80 && sans[sans.length()-1]>0 ){
			cout << "overflow" << endl;
		}else{
			for( int j=(sans[sans.length()-1]==0?sans.length()-2:sans.length()-1); j>=0; j-- ){
				cout << (int)sans[j];
			}
			cout << endl;
		}
	}
	return 0;
}