~cpp 
#include <iostream>
using namespace std;
#include <assert.h>
const int TEN = 10;
int reverse(int number); //     -1  
void main(){
	int N;
	int input[10] = {0};
	int output[10] = {0};
	int outputN[10] = {0};
	int trial = 0;
	
	cin>> N;
	for(int cycle=0; cycle< N; cycle++ ){
		cin>>input[cycle];
		trial = 0;
		while(1){
			if( reverse( input[cycle] ) == -1){
				output[cycle] = input[cycle];
				outputN[cycle]= trial;
				break;
			}else{
				input[cycle]+= reverse( input[cycle] );
				trial++;
			}			
		}
	}
	for(int cycle=0; cycle< N; cycle++ )
		cout<<outputN[cycle]<<" "<<output[cycle]<<endl;
}
int reverse(int number){
	int originalNum = number;
	int numbers[10] = {0};
	int zeros = 1;
	int chipers = 0; //a number of five chipers  , 
	int returnNum = 0;
	// .
	for(chipers = 0; number > zeros; zeros *= TEN){
		chipers++;
	}
	zeros /= TEN;
	
	//   .
	for(int i=0; i< chipers; i++){
		numbers[i] = number / zeros;
		number -= zeros * numbers[i];
		zeros /= TEN;
	}
	
	// .
	zeros = 1;
	for(i=0; i< chipers; i++){
		returnNum += numbers[i] * zeros;
        zeros *= TEN;
	}
	//returnNum 하    한.
	if( returnNum == originalNum )
		return -1;
	return returnNum;
}