#include <iostream>
using namespace std;
int main()
{ int n;
short int ile = 0;
cin >> ile;
int tab[ile];
int tablica[ile];
for(int i=0; i<ile; i++)
{
cin >> n;
int B=0;
if (n<10)
{
tab[i]=n;
tablica[i]=B;
}
if (n>=10)
{ if(((n-(n%10))/10)==(n%10))
{
tab[i]=n;
tablica[i]=B;
}else
{
B=B+1;
n = n+((n%10)*10)+((n-(n%10))/10);
if(n<100 && ((n-(n%10))/10)==(n%10))
{
tab[i]=n;
tablica[i]=B;
}
if (n>100 && ((n - (n%100))/100) == (n%10))
{
tab[i]=n;
tablica[i]=B;
}
if(n>100 && ((n - (n%100))/100) != (n%10))
{
B=B+1;
n=n+(n%10)*100+ (n%100 - n%10) + ((n-n%100))/100;
if(((n - (n%100))/100) == (n%10))
{
tab[i]=n;
tablica[i]=B;}
if(((n - (n%100))/100) != (n%10))
B=B+1;
n=n+(n%10)*100+ (n%100 - n%10) + ((n-n%100))/100;
if(((n-n%1000)/1000)==(n%10) && ((n%1000 - n%100)/100) == ((n%100-n%10)/10))
{
tab[i]=n;
tablica[i]=B;}
if((((n-n%1000)/1000)!=(n%10) || ((n%1000 - n%100)/100) != ((n%100-n%10)/10)) && n>1000)
{
B=B+1;
n=n+(n%10)*1000 + ((n%100 - n%10)/10)*100 + ((n%1000 - n%100)/100)*10+ ((n-n%1000)/1000)*1;
if((((n-n%1000)/1000)==(n%10) || ((n%1000 - n%100)/100) == ((n%100-n%10)/10)) && n>1000)
{
tab[i]=n;
tablica[i]=B;
}else
{
B=B+1;
n=n+(n%10)*1000 + ((n%100 - n%10)/10)*100 + ((n%1000 - n%100)/100)*10+ ((n-n%1000)/1000)*1;
if(((n-n%10000)/1000)==(n%10) || ((n%10000 - n%1000)/1000) == ((n%100-n%10)/10))
{
tab[i]=n;
tablica[i]=B;
}else
{
B=B+1;
n=n+((n%10)*10000) + (((n%100 - n%10)/10)*1000) + (((n%1000 - n%100)/100)*100) +((n%10000-n%1000)/100) + ((n-n%10000)/10000)*1;
if(((n-n%10000)/10000)==(n%10) && ((n%10000 - n%1000)/1000) == ((n%100-n%10)/10))
{
tab[i]=n;
tablica[i]=B;
}
}
}
}
}}
}
}
for(int i=0; i<ile; i++)
{
cout<<tab[i]<<" "<<tablica[i]<<endl;
}
return 0;
}