#define _GLIBCXX_DEBUG
#define rep(i, n) for (int i = 0; i < (int)(n); i++)
#define ALL(v) v.begin(), v.end()
typedef long long ll;

template<class T>bool chmax(T &a, const T &b) { if (a<b) { a=b; return 1; } return 0; }
template<class T>bool chmin(T &a, const T &b) { if (b<a) { a=b; return 1; } return 0; }

#include <bits/stdc++.h>
using namespace std;


int main(){
  int n;
  cin>>n;
  
  string a,b;

  while(n--){
    cin>>a>>b;
    reverse(ALL(a));
    reverse(ALL(b));
    vector<int> c(81,0),d(81,0),e(81,0),f(81,0);
    if(a.size()>80 || b.size()>80) cout<<"overflow"<<endl;
    else{
      for(int i=0;i<(int)a.size();i++){
        c[i]=a[i]-'0';
      }
      for(int i=0;i<(int)b.size();i++){
        d[i]=b[i]-'0';
      }
      rep(i,80){
        e[i]=(c[i]+d[i]+f[i])%10;
        f[i+1]=(c[i]+d[i]+f[i])/10;
      }
      if(f[80]==1) cout<<"overflow"<<endl;
      else{
        reverse(ALL(e));
        if(e[80-max(a.size(),b.size())]!=0){
          for(int i=80-max(a.size(),b.size());i<81;i++) cout<<e[i];
        }
        else{
          for(int i=81-max(a.size(),b.size());i<81;i++) cout<<e[i];
        }
        cout<<endl;
      }
    }
  }
  
  return 0;
}
