#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
string toString(int n) {
    ostringstream os;
    os << n;
    return os.str();
}
string add(string a, string b) {
    if (a.size() > 80 || b.size() > 80) {
        return "overflow";
    }

    int siz = max(a.size(), b.size());
    vector<int> s1(siz, 0);
    for (int i=a.size()-1; i>=0; --i) {
        s1[a.size()-1-i] = a[i] - '0';
    }
    vector<int> s2(siz, 0);
    for (int i=b.size()-1; i>=0; --i) {
        s2[b.size()-1-i] = b[i] - '0';
    }

    string res = "";
    int carry = 0;
    for (int i=0; i<siz; ++i) {
        res = toString((s1[i] + s2[i] + carry) % 10) + res;
        carry = (s1[i] + s2[i] + carry >= 10);
    }
    if (carry) {
        res = '1' + res;
    }

    if (res.size() > 80) {
        return "overflow";
    }
    return res;
}
int main() {
    cin.tie(0);
    ios::sync_with_stdio(false);
    int n;
    cin >> n;
    for (int i=0; i<n; ++i) {
        string a, b;
        cin >> a >> b;
        cout << add(a, b) << endl;
    }
    return 0;
}