#include <iostream>
#include <vector>
#include <algorithm>
#include <cstdio>
#include <string>
#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 nn,dd,i,j;
char qq[82];
	cin >> nn;
	vector<string> ww1(nn);
	vector<string> ww2(nn);
	rep(i,nn) cin >> ww1[i] >>ww2[i];
	rep(i,nn){
		fill(qq,qq+81,'#');
		int sz=ww1[i].size();
		rep(j,sz) qq[81-j] = ww1[i][sz-1-j];
		sz=ww2[i].size();
		int kup =0;
		rep(j,sz){
			if(qq[81-j] == '#') qq[81-j] = '0';
			kup = ( qq[81-j] - '0') + (ww2[i][sz-1-j] - '0');
			qq[81-j] = kup % 10 + '0';
			if(kup>9) {
				if (qq[81-j-1] == '#') qq[81-j-1] = '0';
				qq[81-j-1] = (( qq[81-j-1] - '0') + 1) + '0';
						
			}
		}
	if(qq[0] !='#' || qq[1] != '#') cout << "overflow" << endl;
	else rep(j,82) if(qq[j] != '#') cout << qq[j];
	cout << endl;
	}	
//	rep(i,82) cout << qq[i] ;
	return 0;
}