A1136
#include<iostream>
#include<vector>
using namespace std;
string a;
bool check(vector<int> A)
{
for(int i=0,j=A.size()-1; i<j; i++,j--)
if(A[i]!=A[j])
return false;
return true;
}
void print(vector<int> A)
{
for(int i=0; i<A.size(); i++)
cout << A[i];
}
vector<int> add(vector<int> A, vector<int> B)
{
vector<int> C;
for(int i=0,t=0; i<A.size() || i<B.size() || t; i++)
{
if(i<A.size())
{
t+=A[i];
}
if(i<B.size())
{
t+=B[i];
}
C.push_back(t%10);
t/=10;
}
vector<int> DD(C.rbegin(),C.rend());
return DD;
}
int main()
{
cin >> a;
vector<int> A;
for(int i=0; i<a.size(); i++)
{
A.push_back(a[i]-'0');
}
for(int i=0; i<10; i++)
{
if(check(A))
break;
vector<int> B(A.rbegin(),A.rend());
print(A);
cout << " + ";
print(B);
cout << " = ";
A=add(A,B);
print(A);
cout << endl;
}
if(check(A))
{
print(A);
cout << " is a palindromic number.";
}
else
{
cout << "Not found in 10 iterations.";
}
}