#include <bits/stdc++.h>

using namespace std;

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;
    int alen = a.length();
    int blen = b.length();
    int maxlen = max(alen, blen);
    vector<int> a_vec(maxlen, 0);
    vector<int> b_vec(maxlen, 0);
    vector<int> c_vec(maxlen + 1, 0); // carry
    vector<int> r_vec; // result
    for (int i = 0; i < alen; i ++) {
      a_vec[alen - i - 1] = (a[i] - '0');
    }
    for (int i = 0; i < blen; i ++) {
      b_vec[blen - i - 1] = (b[i] - '0');
    }
    for (int i = 0; i < maxlen; i ++) {
      c_vec[i + 1] = (a_vec[i] + b_vec[i] + c_vec[i]) / 10;
      r_vec.insert(r_vec.begin(), (a_vec[i] + b_vec[i] + c_vec[i]) % 10);
      if (i == maxlen - 1 && c_vec[maxlen] != 0) {
        r_vec.insert(r_vec.begin(), c_vec[maxlen]);
      }
    }
    if (alen > 80 || blen > 80 || r_vec.size() > 80) {
      cout << "overflow" << endl;
      continue;
    }
    for (auto itr = r_vec.begin(); itr != r_vec.end(); ++itr) {
      cout << *itr;
    }
    cout << endl;
  }
}
