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

typedef unsigned int uint;

#define max(a,b) (a>b?a:b)
#define min(a,b) (a>b?b:a)

int main() {
	string str; int c, l, n;
	vector<int> dig[2], dig2(85,0);
	cin >> n;
	while(n--) {
		for(int i=0; i<82; ++i) dig2[i] = 0;
		for(int i=0; i<2; ++i) {
			cin >> str;
			dig[i].clear();
			for(int j=(signed)str.length()-1; j>=0; --j) dig[i].push_back((int)(str[j]-'0'));
		}
		l = max(dig[0].size(), dig[1].size()); c=0;
		for(int i=0; i<l; ++i) {
			dig2[i] = (i<dig[0].size()?dig[0][i]:0)+(i<dig[1].size()?dig[1][i]:0)+c;
			c = dig2[i]/10; dig2[i] %= 10;
		}
		if(c) {dig2[l] = c; l++;}
		if(dig2[80]==0) {
			for(int i=0; i<l; ++i) cout << dig2[l-1-i];
			cout << endl;
		}else cout << "overflow" << endl;
	}
	return 0;
}