#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int konvert(char);
int main()
{
string skladnik1, skladnik2;
istringstream schowek1, schowek2;
int t, skladnik1_Length, skladnik2_Length, rozmiar,skladnik11, skladnik22, suma;
int dziesiatki = 0;
int jednosci = 0;
char d;
cin >> t;
for(int i =0; i<t; i++)
{
cin >> skladnik1 >> skladnik2;
skladnik1_Length = skladnik1.size() -1;
skladnik2_Length = skladnik2.size() -1;
if(skladnik1_Length > skladnik2_Length)
{
for(int j = 0; j<skladnik1_Length - skladnik2_Length; j++)
{
skladnik2 = "0" + skladnik2;
}
}
if(skladnik2_Length > skladnik1_Length)
{
for(int j = 0; j<skladnik2_Length - skladnik1_Length; j++)
{
skladnik1 = "0" + skladnik1;
}
}
schowek1.str(skladnik1);
schowek2.str(skladnik2);
rozmiar = skladnik1.size()-1;
int *wynik = new int[rozmiar+2];
for(int j = 0; j<rozmiar+2; j++)
{
wynik[j] = 0;
}
for(int j = rozmiar; j>=0; j--)
{
schowek1.seekg(j, ios::beg);
schowek1.get(d);
skladnik11 = konvert(d);
schowek2.seekg(j, ios::beg);
schowek2.get(d);
skladnik22 = konvert(d);
suma = skladnik11 + skladnik22;
jednosci = suma % 10;
jednosci = jednosci + dziesiatki;
dziesiatki = suma / 10;
wynik[j+1] = jednosci;
if(j == 0 && dziesiatki != 0)
{
wynik[0] = dziesiatki;
}
}
for(int j = 0; j<rozmiar+2; j++)
{
if(j == 0 && wynik[0] != 0)
{
cout<<wynik[j];
}
if(j != 0)
{
cout<<wynik[j];
}
}
delete [] wynik;
cout<<endl;
dziesiatki = 0;
}
return 0;
}
int konvert(char c)
{
if (c == '0') return 0;
if (c == '1') return 1;
if (c == '2') return 2;
if (c == '3') return 3;
if (c == '4') return 4;
if (c == '5') return 5;
if (c == '6') return 6;
if (c == '7') return 7;
if (c == '8') return 8;
if (c == '9') return 9;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8c3N0cmVhbT4KCnVzaW5nIG5hbWVzcGFjZSBzdGQ7CgppbnQga29udmVydChjaGFyKTsKCmludCBtYWluKCkKewoKICAgIHN0cmluZyBza2xhZG5pazEsIHNrbGFkbmlrMjsKICAgIGlzdHJpbmdzdHJlYW0gc2Nob3dlazEsIHNjaG93ZWsyOwogICAgaW50IHQsIHNrbGFkbmlrMV9MZW5ndGgsIHNrbGFkbmlrMl9MZW5ndGgsIHJvem1pYXIsc2tsYWRuaWsxMSwgc2tsYWRuaWsyMiwgc3VtYTsKICAgIGludCBkemllc2lhdGtpID0gMDsKICAgIGludCBqZWRub3NjaSA9IDA7CiAgICBjaGFyIGQ7CiAgICBjaW4gPj4gdDsKICAgIGZvcihpbnQgaSA9MDsgaTx0OyBpKyspCiAgICB7CiAgICAgICAgY2luID4+IHNrbGFkbmlrMSA+PiBza2xhZG5pazI7CiAgICAgICAgc2tsYWRuaWsxX0xlbmd0aCA9IHNrbGFkbmlrMS5zaXplKCkgLTE7CiAgICAgICAgc2tsYWRuaWsyX0xlbmd0aCA9IHNrbGFkbmlrMi5zaXplKCkgLTE7CiAgICAgICAgaWYoc2tsYWRuaWsxX0xlbmd0aCA+IHNrbGFkbmlrMl9MZW5ndGgpCiAgICAgICAgewogICAgICAgICAgICBmb3IoaW50IGogPSAwOyBqPHNrbGFkbmlrMV9MZW5ndGggLSBza2xhZG5pazJfTGVuZ3RoOyBqKyspCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIHNrbGFkbmlrMiA9ICIwIiArIHNrbGFkbmlrMjsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBpZihza2xhZG5pazJfTGVuZ3RoID4gc2tsYWRuaWsxX0xlbmd0aCkKICAgICAgICB7CiAgICAgICAgICAgIGZvcihpbnQgaiA9IDA7IGo8c2tsYWRuaWsyX0xlbmd0aCAtIHNrbGFkbmlrMV9MZW5ndGg7IGorKykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgc2tsYWRuaWsxID0gIjAiICsgc2tsYWRuaWsxOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIHNjaG93ZWsxLnN0cihza2xhZG5pazEpOwogICAgICAgIHNjaG93ZWsyLnN0cihza2xhZG5pazIpOwogICAgICAgIHJvem1pYXIgPSBza2xhZG5pazEuc2l6ZSgpLTE7CgogICAgICAgIGludCAqd3luaWsgPSBuZXcgaW50W3Jvem1pYXIrMl07CgogICAgICAgIGZvcihpbnQgaiA9IDA7IGo8cm96bWlhcisyOyBqKyspCiAgICAgICAgewogICAgICAgICAgICB3eW5pa1tqXSA9IDA7CiAgICAgICAgfQoKICAgICAgICBmb3IoaW50IGogPSByb3ptaWFyOyBqPj0wOyBqLS0pCiAgICAgICAgewogICAgICAgICAgICBzY2hvd2VrMS5zZWVrZyhqLCBpb3M6OmJlZyk7CiAgICAgICAgICAgIHNjaG93ZWsxLmdldChkKTsKICAgICAgICAgICAgc2tsYWRuaWsxMSA9IGtvbnZlcnQoZCk7CgogICAgICAgICAgICBzY2hvd2VrMi5zZWVrZyhqLCBpb3M6OmJlZyk7CiAgICAgICAgICAgIHNjaG93ZWsyLmdldChkKTsKICAgICAgICAgICAgc2tsYWRuaWsyMiA9IGtvbnZlcnQoZCk7CgogICAgICAgICAgICBzdW1hID0gc2tsYWRuaWsxMSArIHNrbGFkbmlrMjI7CiAgICAgICAgICAgIGplZG5vc2NpID0gc3VtYSAlIDEwOwogICAgICAgICAgICBqZWRub3NjaSA9IGplZG5vc2NpICsgZHppZXNpYXRraTsKICAgICAgICAgICAgZHppZXNpYXRraSA9IHN1bWEgLyAxMDsKCiAgICAgICAgICAgIHd5bmlrW2orMV0gPSBqZWRub3NjaTsKCgogICAgICAgICAgICBpZihqID09IDAgJiYgZHppZXNpYXRraSAhPSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICB3eW5pa1swXSA9IGR6aWVzaWF0a2k7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZm9yKGludCBqID0gMDsgajxyb3ptaWFyKzI7IGorKykKICAgICAgICB7CiAgICAgICAgICAgIGlmKGogPT0gMCAmJiB3eW5pa1swXSAhPSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgY291dDw8d3luaWtbal07CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoaiAhPSAwKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgY291dDw8d3luaWtbal07CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgZGVsZXRlIFtdIHd5bmlrOwogICAgICAgIGNvdXQ8PGVuZGw7CiAgICAgICAgZHppZXNpYXRraSA9IDA7CgogICAgfQoKICAgIHJldHVybiAwOwp9CgppbnQga29udmVydChjaGFyIGMpCnsKICAgIGlmIChjID09ICcwJykgcmV0dXJuIDA7CiAgICBpZiAoYyA9PSAnMScpIHJldHVybiAxOwogICAgaWYgKGMgPT0gJzInKSByZXR1cm4gMjsKICAgIGlmIChjID09ICczJykgcmV0dXJuIDM7CiAgICBpZiAoYyA9PSAnNCcpIHJldHVybiA0OwogICAgaWYgKGMgPT0gJzUnKSByZXR1cm4gNTsKICAgIGlmIChjID09ICc2JykgcmV0dXJuIDY7CiAgICBpZiAoYyA9PSAnNycpIHJldHVybiA3OwogICAgaWYgKGMgPT0gJzgnKSByZXR1cm4gODsKICAgIGlmIChjID09ICc5JykgcmV0dXJuIDk7Cn0K