#include <iostream>
#include <string>
#include <cstdlib>
#include <sstream>
#include <cctype>
using namespace std;
bool sprawdz(string tekst); // sprawdza czy liczba jest palimdromem
string konwert(string tekst); // konwertuje z string na int oraz oblicza sume nastepnie spowrotem konwertuje na stringa
int main()
{
int test, r=0;
cin >> test;
string slowo;
for (int i=0;i<test;i++)
{
cin>>slowo;
while(!(sprawdz(slowo)))
{
slowo=konwert(slowo);
r++;
}
cout << slowo << " " << r << endl;
slowo="";
r=0;
}
}
string konwert (string tekst)
{
int liczba, liczba_2;
string wynik;
ostringstream ss;
int r=tekst.size()-1;
string tekst2;
for (int i=0;i<tekst.size();i++)
{
tekst2[r]=tekst[i];
r--;
}
liczba=atoi(tekst.c_str());
liczba_2=atoi(tekst2.c_str());
ss << liczba + liczba_2;
wynik = ss.str();
return wynik;
}
bool sprawdz(string tekst)
{
int r=tekst.size()-1,x=0,p=tekst.size()-1;
if (tekst.size()%2==0)
{
for (int i=0;i<tekst.size()/2;i++)
{
if (tekst[i]==tekst[r]) x++;
r--;
}
if (x==tekst.size()/2) return 1;
else return 0;
}
else
{
for (int i=0;i<p;i++)
{
if (tekst[i]==tekst[r]) x++;
r--;
}
if (x==p) return 1;
else return 0;
}
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8c3RyaW5nPgojaW5jbHVkZSA8Y3N0ZGxpYj4KI2luY2x1ZGUgPHNzdHJlYW0+CiNpbmNsdWRlIDxjY3R5cGU+CnVzaW5nIG5hbWVzcGFjZSBzdGQ7CmJvb2wgc3ByYXdkeihzdHJpbmcgdGVrc3QpOyAvLyBzcHJhd2R6YSBjenkgbGljemJhIGplc3QgcGFsaW1kcm9tZW0Kc3RyaW5nIGtvbndlcnQoc3RyaW5nIHRla3N0KTsgLy8ga29ud2VydHVqZSB6IHN0cmluZyBuYSBpbnQgb3JheiBvYmxpY3phIHN1bWUgbmFzdGVwbmllIHNwb3dyb3RlbSBrb253ZXJ0dWplIG5hIHN0cmluZ2EKaW50IG1haW4oKQp7CglpbnQgdGVzdCwgcj0wOwoJY2luID4+IHRlc3Q7CglzdHJpbmcgc2xvd287Cglmb3IgKGludCBpPTA7aTx0ZXN0O2krKykKCQl7CQoJCQljaW4+PnNsb3dvOwoJCQl3aGlsZSghKHNwcmF3ZHooc2xvd28pKSkgCgkJCXsKCQkJCXNsb3dvPWtvbndlcnQoc2xvd28pOwoJCQkJcisrOwoJCQl9CgkJCWNvdXQgPDwgc2xvd28gPDwgIiAiIDw8IHIgPDwgZW5kbDsKCQkJc2xvd289IiI7CgkJCXI9MDsKCQl9CQkKfQoKc3RyaW5nIGtvbndlcnQgKHN0cmluZyB0ZWtzdCkKewkKCWludCBsaWN6YmEsIGxpY3piYV8yOwoJc3RyaW5nIHd5bmlrOwoJb3N0cmluZ3N0cmVhbSBzczsKCWludCByPXRla3N0LnNpemUoKS0xOwoJc3RyaW5nIHRla3N0MjsKCWZvciAoaW50IGk9MDtpPHRla3N0LnNpemUoKTtpKyspCgl7CgkJdGVrc3QyW3JdPXRla3N0W2ldOwoJCXItLTsKCX0KCWxpY3piYT1hdG9pKHRla3N0LmNfc3RyKCkpOwoJbGljemJhXzI9YXRvaSh0ZWtzdDIuY19zdHIoKSk7CglzcyA8PCBsaWN6YmEgKyBsaWN6YmFfMjsKCXd5bmlrID0gc3Muc3RyKCk7CglyZXR1cm4gd3luaWs7Cn0KCgoKCmJvb2wgc3ByYXdkeihzdHJpbmcgdGVrc3QpCnsKCWludCByPXRla3N0LnNpemUoKS0xLHg9MCxwPXRla3N0LnNpemUoKS0xOwoJaWYgKHRla3N0LnNpemUoKSUyPT0wKQoJCXsKCQkJZm9yIChpbnQgaT0wO2k8dGVrc3Quc2l6ZSgpLzI7aSsrKQoJCQl7CgkJCQkJaWYgKHRla3N0W2ldPT10ZWtzdFtyXSkgeCsrOwoJCQkJCXItLTsJCQkJCgkJCX0KCQkJaWYgKHg9PXRla3N0LnNpemUoKS8yKQlyZXR1cm4gMTsKCQkJZWxzZSByZXR1cm4gMDsKCQl9CgllbHNlIAoJewoJCWZvciAoaW50IGk9MDtpPHA7aSsrKQoJCXsKCQkJaWYgKHRla3N0W2ldPT10ZWtzdFtyXSkgeCsrOwoJCQlyLS07CgkJfQoJCWlmICh4PT1wKSByZXR1cm4gMTsKCQllbHNlIHJldHVybiAwOwoJfQp9