水题,必须过
#include <iostream>
#include <sstream>
#include <fstream>
#include <string>
#include <vector>
#include <queue>
#include <map>
#include <set>
#include <stack>
#include <assert.h>
#include <algorithm>
#include <math.h>
#include <ctime>
#include <functional>
#include <string.h>
#include <stdio.h>
#include <numeric>
#include <float.h>
using namespace std;
int main() {
int TC = 0; cin >> TC;
for (int tc = 0; tc < TC; tc++) {
string s; cin >> s;
string re_s = s; reverse(re_s.begin(), re_s.end());
int ans = 0;
while (re_s != s) {
ans++;
string ts;
int i1 = s.size() - 1, i2 = re_s.size() - 1;
int carrier = 0;
while (i1 >= 0 || i2 >= 0) {
int val1 = 0, val2 = 0, val = 0;
if (i1 >= 0) val1 = s[i1] - '0';
if (i2 >= 0) val2 = re_s[i2] - '0';
val = val1 + val2 + carrier;
if (val > 9) {
val %= 10;
carrier = 1;
}
else {
carrier = 0;
}
ts.push_back(val + '0');
i1--; i2--;
}
if (carrier == 1) ts.push_back('1');
s = re_s = ts;
reverse(s.begin(), s.end());
}
cout << ans << " " << s << endl;
}
return 0;
}