#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <iterator>
#include <cstdint>

int main()
{
	std::uint32_t n;
	std::cin >> n;
	for (std::uint32_t i = 0; i < n; ++i) {
		typedef std::vector<char> BigNumArray;
		std::string str;

		std::cin >> str;
		BigNumArray num1(str.rbegin(), str.rend());

		std::cin >> str;
		BigNumArray num2(str.rbegin(), str.rend());

		if (num1.size() < num2.size()) {
			num1.resize(num2.size(), '0');
		}
		else {
			num2.resize(num1.size(), '0');
		}

		std::string result;
		std::uint16_t carry = 0;
		for (std::size_t i = 0; i < num1.size(); ++i) {
			std::uint16_t num = num1[i] - '0' + num2[i] - '0' + carry;
			carry = num / 10;
			result.push_back(num % 10 + '0');
		}
		if (carry == 1) {
			result.push_back('1');
		}

		if (result.size() > 80) {
			std::cout << "overflow" << std::endl;
		}
		else {
			std::copy(result.rbegin(), result.rend(),
					std::ostream_iterator<char>(std::cout, ""));
			std::cout << std::endl;
		}
	}
	return 0;
}